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

2022-09-04 07:25:19

我的代码中有内部类。我想为其实例提供公共访问权限,但只有外部类应该能够创建此实例,例如在“私有”访问中。在没有制作适当的小包(或为每个这样的内部类创建公共接口)的情况下,是否有可能?

(抱歉,如果我的英语不好:P)


答案 1

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


答案 2

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

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

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

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

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

参考。