這篇文章給大家分享的是有關(guān)java內(nèi)部類的繼承方式是什么的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
我們提供的服務(wù)有:做網(wǎng)站、網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、松江ssl等。為近1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的松江網(wǎng)站制作公司
java內(nèi)部類的繼承:因為在導(dǎo)出類實例化時,并不存在一個外圍類對象,以讓導(dǎo)出類的實例去連接到它, 所以我們需要創(chuàng)建一個外圍類,并用一個特定的語法來表明內(nèi)部類與外圍類的關(guān)系。
java內(nèi)部類的繼承:
Java內(nèi)部類的構(gòu)造器必須連接到指向其外圍類對象的引用(構(gòu)造內(nèi)部類必須給它一個外部類對象的引用,內(nèi)部類依賴于外部類對象),所以在繼承內(nèi)部類的時候,需要在導(dǎo)出類的構(gòu)造器中手動加入對基類構(gòu)造器的調(diào)用。
因為,在導(dǎo)出類實例化時,并不存在一個外圍類對象,以讓導(dǎo)出類的實例去連接到它。
所以,我們需要創(chuàng)建一個外圍類,然后用一個特定的語法來表明內(nèi)部類與外圍類的關(guān)系。
在下例子中,需要給導(dǎo)出類InheritInner一個來自內(nèi)部類的外圍類中的引用。普通的繼承,只需在導(dǎo)出類構(gòu)造器中加入super();
,而內(nèi)部類則需要外圍類對象引用.super()
;
class WithInner{ class Inner{} } public class InheritInner extends WithInner.Inner{ InheritInner(WithInner wi){ wi.super(); //wi的父類是object } public static void main(String[] args){ WithInner wi = new WithInner(); InheritInner ii = new InheritInner(wi); } }
而進一步,當(dāng)被繼承的內(nèi)部類只有非默認(rèn)構(gòu)造器時應(yīng)該怎么辦呢?
class WithInner{ class Inner{ public Inner(int i){ System.out.println(i); } } } public class InheritInner extends WithInner.Inner{ InheritInner(WithInner wi){ int i=0; wi.super(i);//如代碼所示,當(dāng)被繼承的構(gòu)造器需要參數(shù)時,應(yīng)把參數(shù)傳遞給這個super函數(shù) } public static void main(String[] args){ WithInner wi = new WithInner(); InheritInner ii = new InheritInner(wi); } }
感謝各位的閱讀!關(guān)于java內(nèi)部類的繼承方式是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
本文名稱:java內(nèi)部類的繼承方式是什么
分享URL:http://jinyejixie.com/article32/ghohpc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、Google、網(wǎng)站收錄、App開發(fā)、自適應(yīng)網(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)