為啥是HelloWorld.this.name 這么調用外部類的名字
public void show() { System.out.println("外部類中的name:" +HelloWorld.this.name ? ? ? ? ? ? ? ? ?); 請問這個name又不是靜態(tài)成員,為什么可以直接用類名.的方式調用呢?
public void show() { System.out.println("外部類中的name:" +HelloWorld.this.name ? ? ? ? ? ? ? ? ?); 請問這個name又不是靜態(tài)成員,為什么可以直接用類名.的方式調用呢?
2015-06-20
舉報
2016-05-27
你理解的真棒,解決了我的問題
2015-06-21
謝謝你的回答,那請問為什么可以直接用類名調用呢?
2015-06-21
//外部類HelloWorld
public class HelloWorld{
? ??
? ? //外部類的私有屬性name
? ? private String name = "imooc";
? ??
? ? //外部類的成員屬性
? ? int age = 20;
? ??
//成員內部類Inner
public class Inner {
String name = "愛慕課";
? ? ? ? //內部類中的方法
public void show() {?
System.out.println("外部類中的name:" + HelloWorld.this.name ? ? ? ? ? ? ? ? );
System.out.println("內部類中的name:" + ?name ? ? ? ? ? ? ? ?);
為了區(qū)別內部 和 外部(當內部和外部一樣的話),引用外部時,就要這樣;否則就默認內部的name;