一、类初始化
1、一个类要创建实例需要先加载并初始化该类
(1)main方法所在的类需要先加载和初始化
class Father{
private static int i = method();
private static int method() {
System.out.println("(2)");
return 1;
}
}
public class Son{
private static int i = method();
private static int method() {
System.out.println("(1)");
return 1;
}
public static void main(String[] args) {
}
}
输出结果:
(1)
上述的例子Father类和Son类之间没有继承关系,但是Son类当中有main方法,因此根据上述规则“main方法所在的类需要先加载和初始化”,可得结果和输出结果相符,都是输出(1),且这时候只有类初始化过程。
2、一个子类要初始化需要先初始化父类
class Father{
private static int i = method();
private static int method() {
System.out.println("(2)");
return 1;
}
}