關於Java中的static代碼段

類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代碼段,我們可以認爲是當類首次被虛擬機加載時執行的代碼,加載完成後執行類的構造函數。對於繼承而言,首先執行基類的構造函數,在執行本身的構造函數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章