(1)父类静态成员和静态初始化块,按在代码中出现的顺序依次执行。
(2)子类静态成员和静态初始化块,按在代码中出现的顺序依次执行。
(3)父类实例成员和实例初始化块,按在代码中出现的顺序依次执行。
(4)执行父类构造方法。
(5)子类实例成员和实例初始化块,按在代码中出现的顺序依次执行。
(6)执行子类构造方法。
下面是示例代码:
package 类成员执行顺序;
public class Test {
public static void main(String[] args) {
new Son();
}
}
//父类Parent
class Parent {
{
System.out.println("Parent的初始化块");
}
static {
System.out.println("Parent的static初始化块");
}
public Parent() {
System.out.println("Parent的构造方法");
}
}
class Son extends Parent {
{
System.out.println("Son的初始化块");
}
static {
System.out.println("Son的static初始化块");
}
public Son() {
System.out.println("Son的构造方法");
}
}
上述代码的执行结果如下:
Parent的static初始化块
Son的static初始化块
Parent的初始化块
Parent的构造方法
Son的初始化块
Son的构造方法
一起回答了 |