高手指点一下
由于读的英文版的thinking in java所以导致有些地方读的不是很懂,有些误解
希望高手帮我解开困惑 谢谢!!
问一下
abstract class Base {
public Base(int i) {
System.out.println("Base constructor, i = " + i);
}
public abstract void f();
}
public class AnonymousConstructor {
private static Test monitor = new Test();
public static Base getBase(int i) {
return new Base(i) {
{//这个括号内是不是它的构造函数,里面的super.Base();加与不加一样,首先都要调用基类的构造函数?匿名类的构造函数只能有一个?
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();
monitor.expect(new String[] {
"Base constructor, i = 47",
"Inside instance initializer",
"In anonymous f()"
});
}
}
谢谢大家了!