2021-04-06 【Java第十三天&第十四天】

10-3 繼承入門(mén)-重寫(xiě)

注解@Override


10-4 繼承-子類構(gòu)造

super超類-->指向父類

子類創(chuàng)建會(huì)默認(rèn)調(diào)用父類空參構(gòu)造

任何一個(gè)類都會(huì)繼承一個(gè)頂級(jí)父類Object


10-5 繼承-父子類構(gòu)造器問(wèn)題

若父類的constructor被重載,則子類要在構(gòu)建一個(gè)constructor


10-6 類的加載順序

1)父類靜態(tài)字段 2)父類靜態(tài)代碼塊 3)子類靜態(tài)字段 4)子類靜態(tài)代碼塊 5)父類成員變量 6)父類非靜態(tài)代碼塊 7)子類成員變量 8)子類非靜態(tài)代碼塊 9)子類構(gòu)造器

靜態(tài)代碼塊:類加載時(shí)會(huì)調(diào)用。第一次主動(dòng)使用這個(gè)類就會(huì)加載代碼到內(nèi)存

static{}

非靜態(tài)代碼塊

{。。。}


10-7 引用類型比較內(nèi)容

String a = "a";

String b = "a";

(a==b)是true因?yàn)閍和b同時(shí)指向內(nèi)存中的“a”

如果String c = new String("a");

(a==c)是false因?yàn)閏中的“a“存在了內(nèi)存的另一片區(qū)域

引用數(shù)據(jù)類型不能用==來(lái)比較


10-8 equals方法

public boolean equals(Object obg){

? ? Father father;

? ? if(obj instance of Father) {

? ? ? ? father = (Father)obj;

? ? ? ? if(this.getHobby().equals(father.getHobby())){

? ? ? ? ? ? return true;

????????}

????}

}


10-9 instanceof和對(duì)象轉(zhuǎn)型

if(father instanceof Father)

father是Father類的實(shí)例(instanceof問(wèn)father是不是Father類型)

son instance of Father = true

所有的子類均屬于父類(因?yàn)樽宇愑筛割惍a(chǎn)生)

父類不屬于子類


10-10 Object的toString和HashCode

hashCode()把對(duì)象變成數(shù)字

如果想打印一個(gè)類的內(nèi)容,要重寫(xiě)toString()


11-1 初入多態(tài)

1)有繼承

2)有重寫(xiě)

3)有父類引用指向子類對(duì)象

Father f = new Son();

f.smoke(); //調(diào)用son的soke


多態(tài)是同一個(gè)行為具有多個(gè)不同表情形式或形態(tài)能力

ex 在現(xiàn)實(shí)中摁下F1

-在Word程序下彈出Word幫助

-在Windows程序下就彈出Windows幫助


11-2 接口和抽象類

抽象類:類中包含沒(méi)有方法體的方法

public abstract void eat();

如果一個(gè)類所有的方法都是抽象的,則這個(gè)類為interface(接口)

public interface Animal(){}

public class Cat implements Animal(){}


11-3 數(shù)據(jù)結(jié)構(gòu)鏈表

數(shù)組:通過(guò)下標(biāo)快速進(jìn)行操作

鏈表:更快速插入,刪減

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容