public class TestInte {
public static String orderVersion = "500";
static {
System.out.println("静态代码块执行了....");
System.out.println("在
静态代码赋值前,order版本是:" + orderVersion);
orderVersion = "1000";
System.out.println("在静态代码赋值后,order版本是:" + orderVersion);
}
{
System.out.println("哈哈,普通代码块执行了.......");
}
public TestInte() {
System.out.println("空参构造函数运行了....");
System.out.println("在构造代码赋值前,order版本是:" + orderVersion);
orderVersion = "2000";
System.out.println("在构造代码赋值后,order版本是:" + orderVersion);
}
public void sayHello() {
System.out.println("哈哈,sayHello执行了......");
}
public static void main(String[] args) {
new TestInte();
}
}
一般的结果是先执行静态代码块,再执行普通码块,最后再执行空参代码块
静态代码块执行了....
在静态代码赋值前,order版本是:500
在静态代码赋值后,order版本是:1000
哈哈,普通代码块执行了.......
空参构造函数运行了....
在构造代码赋值前,order版本是:1000
在构造代码赋值后,order版本是:2000