java基础:代码块的执行顺序

java 代码块分类:静态代码块和非静态代码块。

静态代码块是在类加载时自动执行的,非静态代码块是在创建对象时自动执行的代码,不创建对象不执行该类的非静态代码块。

程序举例:

public class Test {

public static int a = 0;

static {

a = 10;

System.out.println("静态代码块在执行a=" + a);

}

{

a = 2;

System.out.println("非静态代码块在执行a=" + a);

}

public Test() {

this("hello"); // 调用另外一个构造方法

System.out.println("无参构造方法在执行a=" + a);

}

public Test(String n) {

System.out.println("有参构造方法"+a);

}

public static void main(String[] args) {

Test tsc = null;

System.out.println("!!!!!!!!!!!!!!!!!!!!!");

tsc = new Test();

}

}

输出结果:

静态代码块在执行a=10

!!!!!!!!!!!!!!!!!!!!!

非静态代码块在执行a=2

有参构造方法2

无参构造方法在执行a=2

诚实是人生绝妙的法宝。虽然对人诚实,

java基础:代码块的执行顺序

相关文章:

你感兴趣的文章:

标签云: