Talk is Cheap,Show You The Code!
package com.fskj.classloader;
//常量在編譯階段會存入到調用這個常量的方法所在的類的常量池中
//本質上調用類並沒有直接引用到定義常量的類,因此並不會出發定義常量類的初始化。
public class ClassLoaderTest {
public static void main(String[] args) {
System.out.println(Child.str1);
}
}
class Parent{
static {
System.out.println("This is Parent static block!");
}
public static String str1 = "i am parent str1";
}
class Child extends Parent{
static {
System.out.println("This is Child static block!");
}
public static final String str1 = "i am child str1";
}