在java单例中获取内部类的实例

时间:2013-10-29 16:26:42

标签: java singleton inner-classes

我有以下安排(没有显示所有字段和方法):

public class MyClass implements myClassInterface{

    public static MyClass getInstance(){
       return INSTANCE;
    }

    public class Inner implements innerStuff{
        @Override
         public void doInnerWork(Object param){
         }
    }
}

我需要访问doInnerWork(param)。我怎么做?我尝试了很多东西,但都失败了,包括:

new (MyClass.getInstance().Inner()).doInnerWork(param);

感谢您的帮助。

2 个答案:

答案 0 :(得分:4)

MyClass.getInstance().new Inner().doInnerWork(param);
请注意,这将每次创建一个新的内部类(它不会是单例)。

答案 1 :(得分:0)

要创建嵌套类Inner的实例,您希望它嵌套在某个对象obj中,语法为

obj.new Inner()

所以在你的情况下你可能想要

MyClass.getInstance().new Inner().doInnerWork(param);

我不是说这会给你想要的结果,但这就是语法。