前言:
本文通过引用一道经典的Java面试题,解释Java类、实例对象的初始化和实例化等知识。主要内容有以下三点:
1.类初始化过程(先)
2.实例初始化过程(后)
3.方法重写(注意)
首先看题目,分析输出结果是什么:
父类:
public class Father {
private int i = test();
private static int j = method();
static {
System.out.println("(1)");
}
Father() {
System.out.println("(2)");
}
{
System.out.println("(3)");
}
public int test() {
System.out.println("(4)");
return 1;
}
public static int method() {
System.out.println("(5)");
return 1;
}
}
子类:
public class Son extends Father {
private int i = test();
private static int j = method();
static {
System.out.println("(6)"