是否可以从外部类中初始化具有标记为私有的构造函数的内部类的实例。我的印象是,一旦一个构造函数被声明为私有,除了类本身之外,没有人可以创建该类的实例。示例
Public class Outerclass
{
newinstance = new Innerclass();
private final class InnerClass
{
private InnerClass(//paremeters)
{
//constructor declaration inside
}
}
}发布于 2014-10-16 21:13:16
内部类是其外部类的成员,因此它们可以完全访问所有其他成员,所有其他成员都可以完全访问它们。
内部类中的访问标记仅适用于不相关的类。因为您的内部类本身是私有的,所以它只能从其外部类进行构造。
发布于 2014-10-16 21:11:12
我觉得你需要调查一下单身模式。不能声明构造函数标记为私有的类的实例,但始终可以使用私有属性在该类中声明静态方法。因此,当调用内部类的静态方法时,它会将该类的唯一实例返回给调用方。
pattern
发布于 2014-10-16 21:19:59
您可以在外部类上定义一个公共方法,该方法允许实例化内部类:
public void instantiateInnerClass() {
myAttribute = this.new InnerClass();
}但是,您将无法直接访问和操作内部类的实例。
https://stackoverflow.com/questions/26413890
复制相似问题