為啥是HelloWorld.this.name 這么調(diào)用外部類的名字
public void show() { System.out.println("外部類中的name:" +HelloWorld.this.name ? ? ? ? ? ? ? ? ?); 請問這個(gè)name又不是靜態(tài)成員,為什么可以直接用類名.的方式調(diào)用呢?
public void show() { System.out.println("外部類中的name:" +HelloWorld.this.name ? ? ? ? ? ? ? ? ?); 請問這個(gè)name又不是靜態(tài)成員,為什么可以直接用類名.的方式調(diào)用呢?
2015-06-20
舉報(bào)
2016-05-27
你理解的真棒,解決了我的問題
2015-06-21
謝謝你的回答,那請問為什么可以直接用類名調(diào)用呢?
2015-06-21
//外部類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 ? ? ? ? ? ? ? ?);
為了區(qū)別內(nèi)部 和 外部(當(dāng)內(nèi)部和外部一樣的話),引用外部時(shí),就要這樣;否則就默認(rèn)內(nèi)部的name;