【发布时间】:2013-09-19 09:57:22
【问题描述】:
我在一个类中创建了一个对象:
private class Viscosity{
float magnitude;
private Viscosity(float Magnitude){
magnitude = Magnitude;
}
}
在我的 main 函数中,我尝试从文本文件中提取数据并创建一个新的 Viscosity 对象,但似乎我无法访问这个私有对象。
例如,我想将它添加到对象列表中:
listofObjects.add(new Viscosity(50.0f));
但我收到错误:
没有封闭的类型实例是可访问的。必须使用 ClassName 类型的封闭实例来限定分配(例如 x.new A(),其中 x 是 ClassName 的实例)。
我怎样才能做到这一点?
【问题讨论】:
-
为什么构造函数是私有的?为什么要使用内部类?
-
你想在哪里调用
listofObjects.add(new Viscosity(50.0f));?它是在包含Viscosity内部类的类之外吗? -
为什么不发布整个班级,而不仅仅是内部班级?这样你可能会从人们那里得到更好的建议。