關於類的靜態初始化塊和類的初始化塊

在Hadoop-0.1.0的org.apache.hadoop.util.Daemon.java中
 
public class Daemon extends Thread {
 
  {
    setDaemon(true);                              // always a daemon
  }
    。。。
}
 
上述的就是傳說中的對象的初始化塊。
 
通常,直接將初始化代碼放置在一個構造器的內部。
 
 
 
還有一種就是靜態初始化塊。
 
package hehe;
 
public class AntRunClass {
 
  private String string;
  private static String staticString;
  
  static {
     staticString="HH";
   }
  
  {
     string="";
     staticString="lala";
  }
 
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  AntRunClass a;// =new AntRunClass();
  System.out.println(AntRunClass.staticString);
  a =new AntRunClass();
  System.out.println(a.staticString);
 }
}
 
 
 
所有靜態初始化塊都是按照在類中的順序來初始化的。
 
靜態初始化塊是在類加載時候運行的,當實例化一個對象時,調用初始化快,就像調用一個構造函數。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章