Java 初始化及类的加载
下面是Think in Java中的一段代码,自己加了几行
package reusing;import static net.mindview.util.Print.*;class Insect {private int i = 9;protected int j;private int x2 = printInit("Insect.x1 initialized");Insect() {print("i = " + i + ", j = " + j);j = 39;}static {System.out.println("Init Static block");}{System.out.println("Init block");}private static int x1 = printInit("static Insect.x1 initialized");static int printInit(String s) {print(s);return 47;}}public class Beetle extends Insect {private int k = printInit("Beetle.k initialized");static {System.out.println("Beetle static block");}public Beetle() {print("k = " + k);print("j = " + j);}private static int x2 = printInit("static Beetle.x2 initialized");private int x1 = printInit("Beetle.x2 initialized");public static void main(String[] args) {print("Beetle constructor");Beetle b = new Beetle();}}