我完全陷入困境,并且已经玩了一段时间。我有一个类“启动器”,我想从中通过外部类“PropertyManager”访问私有内部类“PropertyInstance”的实例。
所以,在我的发射器中,我想写一下:
PropertyManager pm = new PropertyManager();
PropertyInstance pi = pm.getInstance("brickbreaker.properties");
在我的PropertyManager类中,我编写了以下代码:
public PropertyInstance getInstance(String location)
{
PropertyInstance pi = null;
if(!propertyList.contains(location))
{
System.out.println("it does not contain it yet, so we will create it");
pi = new PropertyInstance(location);
propertyList.add(pi);
}
return pi;
}
在本课程中,我有以下内部类:
private class PropertyInstance
{
}
除了私有修饰符之外,这是无关紧要的。
问题是我无法从我的Launcher访问PropertyInstance类,因为它是私有的,我似乎无法找到解决方法,所以真的有任何帮助。如果它甚至可以完成。
编辑:似乎不清楚我正在寻找一种解决方法,同时保持内部阶级的私密性,抱歉混乱! :)答案 0 :(得分:5)
创建一个界面,用于定义您希望私有类的公共访问权限,让您的私有类实现它,然后将其返回。
答案 1 :(得分:2)
解决方法是将其公开。