一、类的初始化过程
public class Test01 { static { System.out.println("静态代码块"); } public static void method(){ System.out.println("静态方法。。"); } { System.out.println("代码块。。"); } public Test01(){ System.out.println("构造器。。。"); } public static void main(String[] args) { new Test01(); System.out.println("==============="); new Test01(); } }运行结果:
静态代码块 代码块。。 构造器。。。 ---------- 代码块。。 构造器。。。二、静态成员之间的执行顺序 1、静态代码块和静态成员变量优先于静态方法执行:
代码1:
public class Test01 { static { i=2; System.out.println("静态代码块"); } public static void method(){ System.out.println("静态方法。。"); System.out.println(i); } static int i=4; public static void main(String[] args) { Test01.method(); } }运行结果:
静态代码块 静态方法。。 42、静态成员变量和静态代码块是看它们在代码中的顺序,谁在前先执行 代码2:
public class Test01 { static int i=4; static { i=2; System.out.println("静态代码块"); } public static void method(){ System.out.println("静态方法。。"); System.out.println(i); } public static void main(String[] args) { Test01.method(); } }运行结果:
静态代码块 静态方法。。 2通过代码1和代码2结合比较可看出:谁在前先执行