abstract class A{
   public static void fun()
   {
   System.out.println("Hello world");
   }
   public abstract void fun1();
class D{
   public  void fun3(){}
   }
abstract class C{
   public abstract void fun2();
   }
}class B extends A{
   public void fun1()
   {
   System.out.println("世界,我来了");
   }
class E extends C
{
   public void fun2()
   {
   System.out.println("黄盼,你好!!!!");
   }
}
}
public class xml2{
public static void main(String args[])
{
// A a=new B(); //子类对象为父类实例化
// A b=new B();
// a.C in=b.new E(); //调用被子类覆写过的方法
// in.fun2();
}
}
这个程序中,我只知道有这样的抽象类中含有抽象类的问题,但是我不知道怎样去调用这个抽象类中内部抽象类!!!!!!

解决方案 »

  1.   

    是这意思吗?
     B.E e = new B().new E();
     e.fun2();
      

  2.   


    不能向上转型吗,A.E e = new B().new E();
    lz应该问的这个意思
      

  3.   


    abstract class A {
    public static void fun() {
    System.out.println("Hello world");
    } public abstract void fun1(); class D {
    public void fun3() {
    }
    } abstract class C {
    public abstract void fun2();
    }
    }class B extends A {
    public void fun1() {
    System.out.println("世界,我来了");
    } class E extends A.C {
    public E(){
    }

    public void fun2() {
    System.out.println("黄盼,你好!!!!");
    }
    }
    }public class xml2 {
    public static void main(String args[]) {
     A a=new B(); //子类对象为父类实例化
     B b=new B();
     A.C in=b.new E(); //调用被子类覆写过的方法
     in.fun2(); }
    }
    如下