内部类和外部类变量重名时--如何访问变量呢?
下文笔者讲述内部类和父类变量重名的获取方法分享,如下所示
当外部类和内部类变量重名时 我们此时需要内部类作为一个普通类进行处理,采用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(); } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。