一个内部类可以作为一个接口,由另一个内部类实现,这个怎么理解?

解决方案 »

  1.   

    一个类继承了另一个类的内部类,因为超类是内部类,而内部类的构造方法不能自动被调用,这样就需要在子类的构造方法中明确的调用超类的构造方法。接上例:class C extends A.B {C() { new A().super(); // 这一句就实现了对内部类构造方法的调用。}}构造方法也可这样写:C(A a) { a.super();} // 使用这个构造方法创建对象,要写成C c = new C(a); a是A的对象
      

  2.   

    class A
    {
      interface inner1
      {
         public void print(String a);  }  class inner2 implements inner1
      {
         public void prinrt(String a)
         {
            System.out.println(a);
          }
       }
    }例如上面的类,在其中有一个接口,还有一个内部类,其中设计到一个内部类或接口当中的访问权限问题,内部类或接口的的作用域是属于类的作用域,只有在类中才具有可见性。即上面的借口inner1 和内部类inner2只在类A 中具有可见性,也就是说只有在类A中他们才是可见的,在类A外不具有可见性,除非是公有的访问权限。