2012-03-05 56 views
-2
interface Hello { 
    abstract class A { 
    void show() { 
     B b = new B(); 
     b.dis(); 
    } 
    } 
    class B { 
     void dis() { 
     System.out.println("HIiiiiiiii"); 
     } 
    } 
} 

但是这不工作,请任何一个指导我怎么可以访问这个,因为这个要求不应该被改变..如何在抽象类中访问ineer类的方法都在接口中?

+3

你将不得不在你的问题中更清晰。 – 2012-03-05 09:10:55

回答

1

如果我读正确的问题,你希望以下内容:

new Hello.B().dis(); 
new Hello.A(){}.show(); 

其中new Hello.A(){}实例化抽象类Aanonymous子类。

编辑

如果B被内部A定义,那么你会想:

(new Hello.A(){}.new B()).dis(); 
new Hello.A(){}.show(); 

dis()调用看起来它的方式,因为B将不再是一个隐含的静态内类,所以它将需要一个A的实例。

+0

亲爱的你好,是接口如何实例化 – 2012-03-05 09:13:32

+0

没有必要定义和实例化一个实现'Hello'的类。我们只需要接口类的名称来访问内部类。 http://stackoverflow.com/a/1845893/105224 – 2012-03-05 09:15:26

+0

对不起,我的问题实际上B类是抽象类中的意思内部类的abtract类 – 2012-03-05 09:39:48