对于内部类中的成员变量与所在类的成员变量重名如何处理:
1、内部类想访问外部类成员变量:外部类名.this.成员变量名。
2、内部类访问自己的成员变量:直接下名字。
3、外部类访问内部类成员变量:不可以
Outer.java
public class Outer {
String name = "外部类成员变量";
public class inner{
String name = "内部类成员变量";
public void play(){
String name = "内部类局部变量";
System.out.println("name="+name);
System.out.println("this.name="+this.name);
System.out.println("Outer.this.name="+Outer.this.name);
}
}
}
OuterDemo.java
public class OuterDemo {
public static void main(String[] args) {
Outer.inner user = new Outer(). new inner();
user.play();
}
}
输出结果:
name=内部类局部变量
this.name=内部类成员变量
Outer.this.name=外部类成员变量