如何返回私有内部类的对象
public class MainClass{
public InnerClass getObj(){
return this.new InnerClass()
}
private class InnerClass{
InnerClass(){
}
}
}
-------------
MainClass mc = new MainClass();
mc.getObj(); // assume I am not holding it anywhere.
当我使用
try-catch
块进行检查时,以上代码给出了空指针异常。另外,在调试模式下尝试时,其显示为“
ClassNotFoundException
”但是我可以看到生成为MainClass $ InnerClass.class的类文件
最佳答案
嗯,我没有同样的问题。这是我修改后的代码:
class MainClass {
public static void main( String[] args ) {
MainClass mc = new MainClass();
InnerClass ic = mc.getObj();
System.out.println( ic );
}
public InnerClass getObj() {
return this.new InnerClass();
}
private class InnerClass {
InnerClass() {}
}
}
此代码的结果是:
MainClass$InnerClass@64c3c749
关于java - 如何返回私有(private)内部类对象java的对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10037575/