類A:
class A
{
static{
System.out.print("1");
}
public A()
{
System.out.print("2");
}
}
類B:
class B extends A
{
static{
System.out.print("a");
}
public B()
{
System.out.print("b");
}
}
類Hello:
public class Hello
{
public static void main(String[] args)
{
A ab = new B();//輸出結果1a2b
ab = new B();//輸出結果1a2b2b
}
}
說明:類中的static代碼段,我們可以認爲是當類首次被虛擬機加載時執行的代碼,加載完成後執行類的構造函數。對於繼承而言,首先執行基類的構造函數,在執行本身的構造函數。