外部類的私有變量在內(nèi)部類里為什么要這樣使用?而默認(rèn)變量就直接使用。(下劃線加粗部分)
//外部類HelloWorld
public class HelloWorld{
? ??
? ? //外部類的私有屬性name
? ? private String name = "imooc";
? ??
? ? //外部類的成員屬性
? ? int age = 20;
? ??
//成員內(nèi)部類Inner
public class Inner {
String name = "愛慕課";
? ? ? ? //內(nèi)部類中的方法
public void show() {?
System.out.println("外部類中的name:" +HelloWorld.this.name);
System.out.println("內(nèi)部類中的name:" + name);
System.out.println("外部類中的age:" + age);
}
}
? ??
//測(cè)試成員內(nèi)部類
public static void main(String[] args) {
? ? ? ??
? ? ? ? //創(chuàng)建外部類的對(duì)象
HelloWorld o = new HelloWorld ();?
? ? ? ??
? ? ? ? //創(chuàng)建內(nèi)部類的對(duì)象
Inner inn = o.new Inner();
? ? ? ??
? ? ? ? //調(diào)用內(nèi)部類對(duì)象的show方法
inn.show();
}
}
2016-04-15
在普通內(nèi)部類里,如果內(nèi)部類的成員變量和外部類的成員變量相同,內(nèi)部類訪問外部類的成員變量要用this關(guān)鍵字,而age變量只屬于外部類,并不涉及同名的問題,所以可以直接調(diào)用。
2016-04-15
內(nèi)部類和外部類都定義了name變量 ? 默認(rèn)訪問的是內(nèi)部類中的name變量
2016-04-15
內(nèi)部類和外部類都定義了name變量 默認(rèn)訪問的是內(nèi)部類中的?