最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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)的評論 (共 條)

分享到微博請遵守國家法律
沙雅县| 安岳县| 离岛区| 独山县| 梨树县| 扶风县| 深水埗区| 铜陵市| 普宁市| 铜川市| 兴海县| 邳州市| 苍溪县| 招远市| 赤峰市| 濮阳市| 咸丰县| 哈密市| 封开县| 吴忠市| 金阳县| 蒙山县| 西昌市| 浠水县| 开封县| 稻城县| 乡城县| 大悟县| 新郑市| 北川| 沾化县| 友谊县| 博野县| 江口县| 合江县| 五河县| 共和县| 罗定市| 泉州市| 册亨县| 平武县|