五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

super/多態(tài)

2022-07-19 16:24 作者:劍離我離  | 我要投稿

Super 關(guān)鍵字

  • 理解為:父類的

  • super可以用來調(diào)用:屬性、方法、構(gòu)造器

  • 當(dāng)子類和父類中聲明了同名的屬性時,我們要想在子類中調(diào)用父類中聲明的屬性,則必須顯式地使用“super.屬性"的方式,表明調(diào)用的是父類中聲明的屬性

  • 當(dāng)子類重寫了父類中的方法以后,我們要想在子類中調(diào)用父類中的方法,則必須顯式地使用“super.方法"的方式進(jìn)行調(diào)用。

  • super調(diào)用構(gòu)造器。必須聲明在首行。

  • 若是父類的屬性是私有的,那么在子類中就不能直接去操作對應(yīng)的屬性進(jìn)行賦值,可以通過使用父類構(gòu)造器的方式來操作。

  • 在構(gòu)造器的首行,沒有顯示的聲明“this(形參列表)” 或 “super(形參列表)” ,則默認(rèn)調(diào)用的是父類中的空參構(gòu)造器。

  • 在類的多個構(gòu)造器中,至少有一個類的構(gòu)造器中使用了 “super(形參列表)”,調(diào)用父類中的構(gòu)造器;【this是n-1個】;

子類對象實例化的全過程

  1. 從結(jié)果上來看:(繼承性)

  • 子類創(chuàng)建父類以后,就獲取了父類中聲明的屬性或方法

  • 創(chuàng)建子類的對象,在堆空間中,就會加載所有父類中聲明的屬性。

  1. 從過程上來看

  • 當(dāng)我們通過子類的構(gòu)造器創(chuàng)建子類對象時,我們一定會直接或間接的調(diào)用其父類的構(gòu)造器,進(jìn)而調(diào)用父類的父類的構(gòu)造器,直到調(diào)用到了Object類中的空參構(gòu)造器為止。正因為加載過所有的父類的結(jié)構(gòu),所以才可以看到內(nèi)存中有父類的結(jié)構(gòu),子類對象才可以考慮進(jìn)行調(diào)用。

明確:雖然創(chuàng)建子類對象時,調(diào)用了父類的構(gòu)造器,但是自始至終就創(chuàng)建過一個對象,即為new的子類對象

多態(tài)

一個事務(wù)的多種形態(tài)。

何為多態(tài)性?

  • 父類的引用指向子類的對象

多態(tài)的使用: 多態(tài)是運(yùn)行時行為

  • 當(dāng)調(diào)用子父類同名同參數(shù)的方法時,實際執(zhí)行的是子類重寫父類的方法

  • ?虛擬方法調(diào)用:有了對象的多態(tài)性以后,我們在編譯期,只能調(diào)用父類中聲明的方法,但在運(yùn)行期,我們實際執(zhí)行的是子類重寫父類的方法;

  • 總結(jié):【編譯看左邊,運(yùn)行看右邊】

  • 使用前提:1. 類的繼承關(guān)系 2. 方法的重寫

只使用于方法,不使用于屬性(編譯和運(yùn)行都看左邊)

有了對象的多態(tài)性以后,內(nèi)存中實際上是加載了子類特有的屬性和方法的,但是由于變量聲明為父類類型,導(dǎo)致編譯時,只能調(diào)用父類中聲明的屬性和方法。子類特有的屬性和方法不能調(diào)用。

方法的重載與重寫

instance of

a instanceof A : 左邊是對象,右邊是類;當(dāng)對象是右邊類或子類所創(chuàng)建的對象時,返回true;否則,返回false;

  • 功能少的不能強(qiáng)轉(zhuǎn)成功能多的

  • 可變形參問題:確定個數(shù)的執(zhí)行優(yōu)于可變形參的執(zhí)行

equals

==運(yùn)算符

  1. 可以使用在基本數(shù)據(jù)類型變量和引用數(shù)據(jù)類型變量中

  2. 如果比較的是基本數(shù)據(jù)類型變量:比較兩個變量保存的數(shù)據(jù)是否相等。(不一定要類型相同);如果比較的是引用數(shù)據(jù)類型變量:比較兩個對象的地址值是否相同。

equals()

  1. Object類中equals()的定義跟==是相同的;

  2. 像String、Date、File、包裝類等都重寫了Object類中的equals()方法。重寫以后,比較的不是兩個引用的地址是否相同,而是比較具體的內(nèi)容。

public boolean equals(Object obj) { ? ?

????return (this==obj);

}

三元運(yùn)算會自動提升類型

Interger 內(nèi)部定義了 InetrgerCache結(jié)構(gòu),IntegerCache 中定義了Integer[],保存了從-128~127 范圍的整數(shù),如果我們使用自動裝箱的方式,給Integer賦值的范圍在-128~127范圍內(nèi)時,可以直接使用數(shù)組中的元素,不用再去new了??梢蕴岣咝?/span>


super/多態(tài)的評論 (共 條)

分享到微博請遵守國家法律
延边| 固始县| 霸州市| 滦南县| 建宁县| 台北县| 工布江达县| 乌拉特后旗| 黑龙江省| 峨山| 葫芦岛市| 句容市| 合水县| 崇义县| 三江| 崇州市| 海城市| 上虞市| 杭锦旗| 分宜县| 卓尼县| 大厂| 甘泉县| 巩留县| 盐津县| 青海省| 龙川县| 江津市| 得荣县| 思茅市| 和硕县| 芜湖市| 顺义区| 清涧县| 贵定县| 津市市| 南雄市| 长治市| 平阴县| 城步| 老河口市|