Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我的代码中有内部类。我想公开访问它的实例,但只有外部类才能创建这个实例,就像在“私人”访问中一样。是否可以不制作适当的小包(或为每个这样的内部类创建公共接口)?
(对不起,如果我的英语不好:P)
有可能的。将您的内部类声明为 public,但将其构造函数声明为 private。这样,您只能在封闭类及其本身内部创建它,而不能从外部创建它。
默认情况下,如果要获取内部类的实例,首先需要有外部类。
内部类是其封闭类的成员。
你不需要为此做任何事情。
非静态嵌套类(内部类)可以访问封闭类的其他成员,即使它们被声明为私有
我希望我以正确的方式理解你的问题。
请参考。
所以使private内部类。
private
public class Outer { private class Inner {} public String foo() { return new Inner().toString(); } }
您不能合法地调用私有默认构造函数,因为它是私有的