国产探花免费观看_亚洲丰满少妇自慰呻吟_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內部類的繼承詳解,希望能夠幫助到大家。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 屏东市| 丽水市| 大方县| 汉沽区| 大足县| 昭通市| 武夷山市| 七台河市| 体育| 卢湾区| 唐山市| 三都| 中方县| 嘉黎县| 龙口市| 惠东县| 慈利县| 广元市| 东兴市| 广东省| 靖边县| 和硕县| 尖扎县| 沅江市| 葫芦岛市| 板桥市| 水富县| 牟定县| 拜泉县| 彭州市| 隆子县| 嘉定区| 潢川县| 四会市| 芒康县| 铜鼓县| 青冈县| 云林县| 梅河口市| 万盛区| 鸡东县|