1

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

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);

谢谢你的帮助。

4

2 回答 2

4

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

于 2013-10-29T16:30:21.743 回答
0

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

obj.new Inner()

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

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

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

于 2013-10-29T16:31:42.077 回答