内部类和外部类变量重名时--如何访问变量呢?

java 文章 2022-07-22 17:40 0 全屏看文

转自:

http://www.java265.com/JavaCourse/202204/3130.html

类简介:

    类(Class)是面向对象程序设计(OOP,Object-Oriented Programming)实现信息封装的基础。类是一种用户定义的引用数据类型,也称类类型。每个类包含数据说明和一组操作数据或传递消息的函数。类的实例称为对象


下文笔者讲述内部类和父类变量重名的获取方法分享,如下所示

当外部类和内部类变量重名时
我们此时需要内部类作为一个普通类进行处理,采用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();
    }
}
-EOF-