内部类的同名变量访问

//如果出现了重名现象,那么格式是:外部类名称.this.外部类成员变量名
public class Outer {
int num=10;//外部类的成员变量
public class Inner /*extends Object*/{
int num=20;//内部类的成员变量
public void methodInner(){
int num=30;//内部类方法的局部变量
System.out.println(num);//局部变量,就近原则
System.out.println(this.num);//内部类的成员变量
System.out.println(Outer.this.num);//外部类的成员变量
}
}
}
====================================
public class Demo09InnerClass {
public static void main(String[] args) {
//外部类名称.内部类名称 对象名=new 外部类名称().new 内部类名称();
Outer.Inner obj=new Outer().new Inner();
obj.methodInner();
}
}
//结果
//30
//20
//10
posted @ 2022-05-30 11:35  开山y  阅读(19)  评论(0编辑  收藏  举报