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