getBasse() 是本类AnonymousConstructor 的一个方法。 abstract class Base {//抽象类 public Base(int i) {//抽象类的构造 System.out.println("Base constructor, i = " + i); } public abstract void f();//抽象方法 } public class AnonymousConstructor {//测试类 public static Base getBase(int i) {//它是AnonymousConstructor 的一个方法,就你问的问题。 return new Base(i) {//匿名内部类,就是实例化Base //(匿名内部类可以直接将一个接口或抽象类实例化) {//非静态语句块,在new的时执行 System.out.println("Inside instance initializer"); } public void f() {//重写抽象类Base的抽象方法。实现类必须重写父类中抽象方法。 System.out.println("In anonymous f()"); } };//至此匿名内部类实例化完成。并返回。 } public static void main(String[] args) {{//它是AnonymousConstructor 的mian方法,main中只能调静态方法 Base base = getBase(47);\\在这就是在调 base.f(); } }//测试类完
匿名类方式实例抽象类
最新推荐文章于 2022-06-02 21:39:00 发布