静态嵌套类可以访问外部类的私有构造函数
据说:
静态嵌套类与其外部类(和其他类)的实例成员交互,就像任何其他顶级类一样。 实际上,为了方便打包,静态嵌套类在行为上是嵌套在另一个顶级类中的顶级类。
那么如何解释这个静态嵌套类可以访问它的封闭类的私有构造函数呢?
那么如何解释这个静态嵌套类可以访问它的封闭类的私有构造函数呢?
因为任何private
成员(字段,构造函数或方法)的范围和可访问性都是其声明类的完整体,包括任何嵌套类。
从Java语言规范第6.6.1节:
如果成员或构造函数被声明为private
,那么当且仅当它出现在包含成员或构造函数声明的顶级类(第7.6节)的主体内时才允许访问。
上一篇: Static nested class has access to private constructor of outer class