JVM ClassLoader

package com.whut.zzh;


class Parent {
static int a = 3;

static {
System.out.println("Parent static block");
}
}


class Child extends Parent {
static int b = 4;

static {
System.out.println("Child static block");
}
}


public class Test {
static {
System.out.println("Test static block");
}

public static void main(String[] args) {
System.out.println("--------------------");
Parent parent = new Parent();//主动使用,初始化类Parent
System.out.println(Parent.a);//主动使用,初始化类Parent
System.out.println(Child.b);//主动使用,初始化类Child前,必须初始化父类Parent,但在一个类加载器中不能初始化Parent                                                                    两次,所以直接初始化Child
}

}


运行结果:

Test static block
--------------------
Parent static block
3
Child static block
4


你可能感兴趣的:(JVM ClassLoader)