内部类和外部类变量重名时--如何访问变量呢?
下文笔者讲述内部类和父类变量重名的获取方法分享,如下所示
当外部类和内部类变量重名时
我们此时需要内部类作为一个普通类进行处理,采用this关键字访问变量,如:
外部类.this.外部类成员变量名;
this.变量名
例:
//外部类
class Outer {
// 外部类成员变量x
int x = 888;
//成员内部类
class Inner {
//内部类成员变量x
int x = 999;
//内部类的成员方法
public void inner_method() {
// 局部变量x
int x = 9999;
System.out.println("外部类 x=" + Outer.this.x);
System.out.println("内部类 x=" + this.x);
System.out.println("局部 x=" + x);
}
}
}
public class ConstructorCodeDemo{
public static void main(String[] args) {
// 创建内部类对象
Outer.Inner oi = new Outer().new Inner();
// 调用内部类方法
oi.inner_method();
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


