JAVA内部匿名类中的语句块问题【先多谢高手】
百度知道里也问了,http://zhidao.baidu.com/question/83255827.html
package net.chapter1;
abstract class Base{
public Base(int i){
System.out.println("Base Constructor! "+i);
}
public abstract void f();
}
public class AnonymousConstructor {
public static Base getBase(int i){
return new Base(i){
{System.out.println("内部初始化");}
public void f(){
System.out.println("内部f()");
}
};
}
public static void main(String[] args){
Base base=getBase(47);
base.f();
}
}
{System.out.println("内部初始化");}这句为什么要用括号呢?是什么作用啊?
这个程序是按什么步骤运行的呢?
运行结果:
Base Constructor! 47
内部初始化
内部f()