62,614
社区成员
发帖
与我相关
我的任务
分享
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)//注意,这个i不是final的
{
return new Base(i) //这里相当于匿名内部类继承自基类Base,但基类只有这个带参数i的构造器,而子类构造器中必须调用
//基类构造器,所以必须要带这个参数,给基类的构造器调用,这里参数i为什么可以不是final的?
{
{
System.out.println("Inside instance initializer");
}
public void f()
{
System.out.println("In anonymous f()");
}
};
}
public static void main(String[] args)
{
Base base = getBase(47);
base.f();
}
}