从另一个类访问私有内部类,通过公共外部类

时间:2013-12-21 22:19:36

标签: java

我完全陷入困境,并且已经玩了一段时间。我有一个类“启动器”,我想从中通过外部类“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类,因为它是私有的,我似乎无法找到解决方法,所以真的有任何帮助。如果它甚至可以完成。

编辑:似乎不清楚我正在寻找一种解决方法,同时保持内部阶级的私密性,抱歉混乱! :)

2 个答案:

答案 0 :(得分:5)

创建一个界面,用于定义您希望私有类的公共访问权限,让您的私有类实现它,然后将其返回。

答案 1 :(得分:2)

解决方法是将其公开。