java內(nèi)部類的繼承是什么

java內(nèi)部類的繼承:因?yàn)樵趯?dǎo)出類實(shí)例化時(shí),并不存在一個(gè)外圍類對象,以讓導(dǎo)出類的實(shí)例去連接到它, 所以我們需要?jiǎng)?chuàng)建一個(gè)外圍類,并用一個(gè)特定的語法來表明內(nèi)部類與外圍類的關(guān)系。

創(chuàng)新互聯(lián)建站專注于疊彩網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供疊彩營銷型網(wǎng)站建設(shè),疊彩網(wǎng)站制作、疊彩網(wǎng)頁設(shè)計(jì)、疊彩網(wǎng)站官網(wǎng)定制、小程序開發(fā)服務(wù),打造疊彩網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供疊彩網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

java內(nèi)部類的繼承:

Java內(nèi)部類的構(gòu)造器必須連接到指向其外圍類對象的引用(構(gòu)造內(nèi)部類必須給它一個(gè)外部類對象的引用,內(nèi)部類依賴于外部類對象),所以在繼承內(nèi)部類的時(shí)候,需要在導(dǎo)出類的構(gòu)造器中手動(dòng)加入對基類構(gòu)造器的調(diào)用。

因?yàn)?,在?dǎo)出類實(shí)例化時(shí),并不存在一個(gè)外圍類對象,以讓導(dǎo)出類的實(shí)例去連接到它。

所以,我們需要?jiǎng)?chuàng)建一個(gè)外圍類,然后用一個(gè)特定的語法來表明內(nèi)部類與外圍類的關(guān)系。

在下例子中,需要給導(dǎo)出類InheritInner一個(gè)來自內(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);
  }
 }

而進(jìn)一步,當(dāng)被繼承的內(nèi)部類只有非默認(rèn)構(gòu)造器時(shí)應(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ù)時(shí),應(yīng)把參數(shù)傳遞給這個(gè)super函數(shù)
  }
  public static void main(String[] args){
    WithInner wi = new WithInner();
    InheritInner ii = new InheritInner(wi);
  }
}

相關(guān)學(xué)習(xí)推薦:java基礎(chǔ)教程

標(biāo)題名稱:java內(nèi)部類的繼承是什么
當(dāng)前網(wǎng)址:http://muchs.cn/article40/cjpgho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、全網(wǎng)營銷推廣、品牌網(wǎng)站設(shè)計(jì)、App設(shè)計(jì)品牌網(wǎng)站制作、網(wǎng)站維護(hù)

廣告

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

成都seo排名網(wǎng)站優(yōu)化