国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java內部類的繼承(全)

2019-11-26 15:03:52
字體:
來源:轉載
供稿:網友

下面通過實例代碼給大家分享下有關JAVA內部類的繼承,具體詳解如下:

Java內部類的構造器必須連接到指向其外圍類對象的引用(構造內部類必須給它一個外部類對象的引用,內部類依賴于外部類對象),所以在繼承內部類的時候,需要在導出類的構造器中手動加入對基類構造器的調用。

因為,在導出類實例化時,并不存在一個外圍類對象,以讓導出類的實例去連接到它。

所以,我們需要創建一個外圍類,然后用一個特定的語法來表明內部類與外圍類的關系。

在下例子中,需要給導出類InheritInner一個來自內部類的外圍類中的引用。普通的繼承,只需在導出類構造器中加入super();,而內部類則需要外圍類對象引用.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);  } }

而進一步,當被繼承的內部類只有非默認構造器時應該怎么辦呢?

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);//如代碼所示,當被繼承的構造器需要參數時,應把參數傳遞給這個super函數  }  public static void main(String[] args){    WithInner wi = new WithInner();    InheritInner ii = new InheritInner(wi);  }}    

以上就是對JAVA內部類的繼承詳解,希望能夠幫助到大家。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 太谷县| 开远市| 平塘县| 浦城县| 长寿区| 东明县| 铅山县| 昌黎县| 濮阳县| 陆丰市| 聂拉木县| 额尔古纳市| 手游| 阿拉善盟| 开封市| 改则县| 左贡县| 台中县| 汽车| 烟台市| 桃园县| 郓城县| 腾冲县| 宁武县| 竹山县| 西畴县| 射洪县| 平凉市| 玛纳斯县| 连江县| 武强县| 湖州市| 兰溪市| 合江县| 进贤县| 汉中市| 九龙城区| 武鸣县| 祁连县| 交口县| 柳河县|