課程
/后端開發
/Java
/Java入門第二季 升級版
如果我想要在內部類里訪問外部類的成員,我先將外部類實例化得到。然后在內部類里調用的時候用實例化后的名字訪問。而不用外部類的類型.this.外部成員。
可以么?
2017-08-02
源自:Java入門第二季 升級版 7-6
正在回答
public class HelloWorld{
? private String name = "imooc";
? int age = 20;
public class Inner {
String name = "愛慕課";
public void show() {?
HelloWorld o = new HelloWorld ();?
Inner inn = o.new Inner(); ? ?
System.out.println("外部類中的name:" + ? o.name ? ? ? ? ? ? ? );
System.out.println("內部類中的name:" + ? ? ? ?inn.name ? ? ? ? );
System.out.println("外部類中的age:" + age);
}
??
public static void main(String[] args) {
? ? ??
? ? ? ? inn.show();
不是靜態內部類的話可以直接訪問外部類的成員,沒明白你是什么意思
舉報
課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙
2 回答外部類訪問內部類的成員變量
2 回答外部類可訪問內部類的成員變量嗎?
1 回答外部類訪問內部類
2 回答靜態內部類訪問外部類的非靜態成員的疑問
3 回答靜態內部類通過 new 外部類().成員 的方式訪問外部類的非靜態成員是怎么訪問的?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-08-05
public class HelloWorld{
? private String name = "imooc";
? int age = 20;
public class Inner {
String name = "愛慕課";
public void show() {?
HelloWorld o = new HelloWorld ();?
Inner inn = o.new Inner(); ? ?
System.out.println("外部類中的name:" + ? o.name ? ? ? ? ? ? ? );
System.out.println("內部類中的name:" + ? ? ? ?inn.name ? ? ? ? );
System.out.println("外部類中的age:" + age);
}
}
??
public static void main(String[] args) {
? ? ??
HelloWorld o = new HelloWorld ();?
Inner inn = o.new Inner(); ? ?
? ? ? ? inn.show();
??
}
}
2017-08-02
不是靜態內部類的話可以直接訪問外部類的成員,沒明白你是什么意思