面向?qū)ο笾鄳B(tài),抽象類,接口-創(chuàng)新互聯(lián)

面向?qū)ο笾鄳B(tài),抽象類,接口
  • 多態(tài)
    • 多態(tài)中成員訪問特點
    • 多態(tài)的好處和弊端
    • 多態(tài)中的轉(zhuǎn)型
  • 抽象類
          • abstract:
        • 抽象類和普通類的異同點:
  • 接口
    • 接口的特點

成都創(chuàng)新互聯(lián)公司擁有一支富有激情的企業(yè)網(wǎng)站制作團隊,在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)深耕10余年,專業(yè)且經(jīng)驗豐富。10余年網(wǎng)站優(yōu)化營銷經(jīng)驗,我們已為上1000+中小企業(yè)提供了網(wǎng)站建設(shè)、網(wǎng)站設(shè)計解決方案,按需設(shè)計網(wǎng)站,設(shè)計滿意,售后服務(wù)無憂。所有客戶皆提供一年免費網(wǎng)站維護!多態(tài)

概念:同一個對象,在不同時刻表現(xiàn)出來的多種形態(tài)。
如果沒有了繼承,多態(tài)也失去了存在的前提。

public class Animal {public void say() {System.out.println("動物叫聲");
    }
}
public class Cat extends Animal {@Override
    public void say() {System.out.println("貓叫````");
    }
}
public class Dog extends Animal {@Override
    public void say() {System.out.println("狗叫·····");
    }
}
public class Test {public static void run(Animal animal){animal.say();
	}
    public static void main(String[] args) {Animal dog = new Dog();
        dog.say();//執(zhí)行的是dog類的方法(右邊聲明的是Animal對象 調(diào)用的是在子類重寫過的say()方法)
        Animal cat = new Cat();
        Main.run(cat);//執(zhí)行的是cat類的方法(實際傳入的參數(shù)是Animal的實像對象)
    }
}

多態(tài)在方法的參數(shù)上尤為多見,
1.左邊類型是父類類型,右邊new的是子類對象。
2.方法的參數(shù)定義的是父類類型,具體使用時數(shù)據(jù)是子類對象。

多態(tài)中成員訪問特點

1成員變量:編譯看左邊,執(zhí)行看左邊。(變量習(xí)慣性的私有化這樣就不需要就這些了)
2成員方法:編譯看左邊,執(zhí)行看右邊。(因為方法能重寫)

多態(tài)的好處和弊端

好處:提高了程序的拓展性(定義方法的時候,使用父類類型作為參數(shù),將來在使用的時候使用具體的子類參與操作)
弊端:不能使用子類的特有功能(成員只會映射到父類上)

多態(tài)中的轉(zhuǎn)型

1.向上轉(zhuǎn)型: 子類類型賦值給父類類型。
2.向下轉(zhuǎn)型: 父類類型賦值給子類類型。(需要強轉(zhuǎn))

抽象類 abstract:

修飾類:表示該類為抽象類,里面可以有抽象方法也可以沒有
修飾方法:使用該關(guān)鍵字修飾的方法不能有具體的實現(xiàn),存放該方法的類必須是抽象類。

抽象類和普通類的異同點:

不同:
1.抽象類需要使用abstract修飾。
2.抽象類不能夠直接實例化。(構(gòu)造方法一般用來子類訪問父類數(shù)據(jù)初始化)
相同:
1.可以沒有抽象方法。
2.可以有任何的其他方法。
3.可以有構(gòu)造方法。
4.可以有成員變量。
抽象方法:只有方法的聲明,沒有方法的實現(xiàn)。這樣的方法叫做抽象方法。子類繼承抽象類必須實現(xiàn)抽象方法,除非子類是抽象類。

接口

1,接口就是一種公共的數(shù)據(jù)規(guī)范,只要符合規(guī)范標準大家都可以通用。
2,java中接口更多的體現(xiàn)在對行為的抽象。
3,接口java中最高抽象的結(jié)構(gòu)。

接口的特點

1.不用class,用interface修飾
2.實現(xiàn)用implement表示
3.接口不能實例化
4. jdk1.8以前接口中只能有抽象方法(默認修飾符:public abstract)
5. jdk8以后可以有默認方法、靜態(tài)方法、私有方法
6. 成員變量只能是常量(默認修飾符:public static final)
7. 接口之間可以多繼承。

(注意繼承是“is a”的關(guān)系‘是不是’,接口是“l(fā)ike a”的關(guān)系‘像不像’)

抽象類是對事物的抽象,而接口是對行為的抽象

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

當前名稱:面向?qū)ο笾鄳B(tài),抽象類,接口-創(chuàng)新互聯(lián)
分享URL:http://bm7419.com/article0/igsoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、Google、軟件開發(fā)、外貿(mào)建站做網(wǎng)站、網(wǎng)頁設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)