2、類加載和main()的執行順序?
備注:執行main()方法會先加載main()方法所在的類。存在繼承關系中,創建子類對象初始化過程為:
父類靜態成員和語句塊
子類靜態成員和靜態語句塊
父類普通成員和普通語句塊
父類構造函數
子類普通成員和普通語句塊
父類構造函數
示例如下:
public class A {
public A(){
System.out.println("A構造函數-----");
}
{
System.out.println("A普通語句塊-----");
}
static
{
System.out.println("A靜態語句塊-----");
}
}
class B extends A{
public B(){
System.out.println("B構造函數-----");
}
{
System.out.println("B普通語句塊-----");
}
static
{
System.out.println("B靜態語句塊-----");
}
public static void main(String[] args) {
System.out.println("main---------");
A a = new B();
}
}