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

首頁 > 學院 > 開發設計 > 正文

Java內部類的繼承

2019-11-15 00:57:54
字體:
來源:轉載
供稿:網友
java內部類的繼承

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

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

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

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

 1 class WithInner{ 2     class Inner{} 3 } 4 public class InheritInner extends WithInner.Inner{ 5     InheritInner(WithInner wi){ 6         wi.super(); //wi的父類是object 7     } 8     public static void main(String[] args){ 9         WithInner wi = new WithInner();10         InheritInner ii = new InheritInner(wi);11     }12 }

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

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);    }}        


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 和平区| 浑源县| 曲周县| 汝南县| 湘潭市| 乐都县| 榆树市| 无为县| 从化市| 洛扎县| 新闻| 兖州市| 习水县| 金川县| 罗江县| 阿拉善右旗| 山西省| 梨树县| 洱源县| 滁州市| 余干县| 武宣县| 康马县| 子洲县| 汽车| 尤溪县| 金山区| 阿荣旗| 鄂伦春自治旗| 曲阜市| 图们市| 尚义县| 汶川县| 饶阳县| 泸溪县| 荣昌县| 临桂县| 和平县| 米林县| 宿州市| 甘谷县|