Java为啥使用内部类

走着路睡觉
  • java
小于 1 分钟

为什么外部类可以访问内部类的private属性

class ABC{
    class XYZ{
        private int x=10;
    }

    public static void main(String... args){
        ABC.XYZ xx = new ABC().new XYZ();
        System.out.println("Hello :: "+xx.x); // 10
    }
}

内部类可以将原始外部类的功能彻底分离出去。如果符合下面的2个要求时,可以使用内部类:

  1. 在内部类中实现外部类的某些功能,可以清晰明确的使用这些功能。

  2. 虽然它是在一个单独的类中,但功能与外部类紧密相连。

考虑到上述要求,内部类可以完全访问其外部类。因为它们基本上是外部类的成员,所以内部类可以访问外部类的方法和属性(包括private)。

上次编辑于:
贡献者: zhaojingbo
Loading...