static{
}
在这里写东西,跟构造函数里写东西是一样的吗?
[color=blue][b]static语句块中的内容,在该类被加载入JVM时,被执行。
构造方法,在该类被实例化的时候被执行。
区别:static语句块 只会被执行一次;构造方法中的内容,每实例化一次,被执行一次;[/b][/color]
[quote]public class T {
static{
System.out.println("only once");
}
T(){
System.out.println("construct once..");
}
public static void main(String args[]) {
new T();
new T();
}
}[/quote]
输出:
[quote]only once
construct once..
construct once..[/quote]
不能,写在
[code="java"]static{
} [/code]
里的代码是不能引用非静态变量,调用的方法不能抛出异常。