static{}中的内容能和构造函数相提并论吗?

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]

里的代码是不能引用非静态变量,调用的方法不能抛出异常。