Java – 内部类构造函数 – 仅允许外部类

我的代码中有内部类。 我希望公开访问它的实例,但只有外部类应该能够创建这个实例,就像在“私有”访问中一样。 是否有可能在没有制作适当的小包装(或为每个这样的内部类创建公共接口)?

(对不起,如果我的英语不好:P)

有可能的。 声明你的内部类是public,但它的构造函数是private 。 这样,您只能在封闭类和自身内部创建它,而不能从外部创建它。

默认情况下,如果要获取内部类的实例,则需要先使用Outer类。

内部类是其封闭类的成员。

你不需要为此做任何事情。

非静态嵌套类(内部类)可以访问封闭类的其他成员,即使它们被声明为私有

我希望我能以正确的方式理解你的问题。

请参考。

所以private内部阶级。

 public class Outer { private class Inner {} public String foo() { return new Inner().toString(); } } 

你不能合法地调用私有默认构造函数,因为它是私有的