如何访问内部类中的重名变量

若果出现了重名现象,那么格式为:外部类名称.this.外部类成员变量名

代码演示

package priv.cccchen.day11.demo06;

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);//外部类的成员变量
        }
    }

}

DemoMain

public class DemoMain{
	public static void main(String []args){
	Outer.Inner obj = new Outer().new Inner();
	obj.methodInner();
	}
}

Output

30
20
10

Process finished with exit code 0
posted @ 2020-05-11 15:04  CCCChen  阅读(204)  评论(0)    收藏  举报