為什么在內(nèi)部類調(diào)用外部類里相同變量名時出錯?
?//內(nèi)部類中的方法
public void show() {?
System.out.println("外部類中的name:" + HelloWorld.this.name ? ? ? ? ? ? ? ?);
System.out.println("內(nèi)部類中的name:" +name ? ? ? ? ? ? ? ? ?);
System.out.println("外部類中的age:" + age);
}
為什么System.out.println("外部類中的name:" + HelloWorld.this.name ? ? ? ? ? ? ? ?);
不能改為System.out.println("外部類中的name:" + o.this.name ? ? ? ? ? ? ? ?);
就是改為外部類的對象名。
2016-05-08
name屬于外部類變量,this.指的的外部量類名的變量name,所以前面要跟上外部類的類名HelloWolrd
2016-05-08
而o只是對象方法,不能當(dāng)做類名進(jìn)行使用,所要指定外部/內(nèi)部.this.外部/內(nèi)部變量名對應(yīng)this前