内部类的同名变量访问_解决方法:
格式:外部类名称.this.外部类成员变量名
如何创建内部类对象
格式:外部类名称.内部类名称 对象名 = new 外部类名称().new 内部类名称();
实例如下:
定义一个包含内部类的外部类:
package NeiBuLei;
//如果出现了重名现象,那么格式是:外部类名称.this.外部类成员变量名
public class Outer {
int num = 10; // 外部类成员变量
public class Inner{
int num = 20; // 内部类成员变量
public void methodInner(){
int num = 30; // 内部类方法的局部变量
System.out.println(num); // 局部变量,就近原则
System.out.println(this.num); // 内部类的成员变量
System.out.println(Outer.this.num); // 外部类的成员变量
}
}
}
使用这个类:
package NeiBuLei;
public class Demo01InnerClass {
public static void main(String[] args) {
//外部类名称.内部类名称 对象名 = new 外部类名称().new 内部类名称();
Outer.Inner inner = new Outer().new Inner();
inner.methodInner();
}
}
运行结果:
30
20
10