一个类的内部类可以是抽象类吗?

public class MyClass{
 abstract class MyAbstractClass{
  abstract void method();
  }
}

public class Test{
    public static void main(String[] args){
        Object o = getInstance();
        o.toString();
    }
 
    public static Object getInstance(){
        MyClass mc = new MyClass();
        Object mac = mc.new MyAbstractClass(){
            void method(){
                System.out.println("This is MyClass.MyAbstractClass.method()");
            }
 
            public String toString(){
                method();
                return null;
            }
        };
        return mac;
    }
 
}

//或者
public class Test{
    public static void main(String[] args){
        MyClass.MyAbstractClass o = getInstance();
        o.method();
        //o.toString();
    }
 
    public static MyClass.MyAbstractClass getInstance(){
        MyClass mc = new MyClass();
        MyClass.MyAbstractClass mac = new MyClass.MyAbstractClass(){
            void method(){
                System.out.println("This is MyClass.MyAbstractClass.method()");
            }
        };
        return mac;
    }
 
}
发布了138 篇原创文章 · 获赞 11 · 访问量 3559

猜你喜欢

转载自blog.csdn.net/qq_43410618/article/details/105052534