Java靜態初始化器


靜態初始化器,又叫靜態初始化塊,是 Java 類的顯式的靜態初始化。Java 允許將多個靜態初始化動作組織成一個特殊的“靜態子句”(有時也叫“靜態塊”)。其語法描述就是由 static 修飾的一對花括號 "{}" 括起來的語句組。與其他靜態初始化動作一樣,這段代碼僅執行一次:當首次生成這個類的一個對象時,或者首次訪問屬於那個類的靜態數據成員時(即便從未生成過那個類的對象)。

例如:

//: initialization/ExplicitStatic.java
// Explicit static initialization with the "static" clause.
import static net.mindview.util.Print.*;

class Cup {
  Cup(int marker) {
    print("Cup(" + marker + ")");
  }
  void f(int marker) {
    print("f(" + marker + ")");
  }
}

class Cups {
  static Cup cup1;
  static Cup cup2;
  static {
    cup1 = new Cup(1);
    cup2 = new Cup(2);
  }
  Cups() {
    print("Cups()");
  }
}

public class ExplicitStatic {
  public static void main(String[] args) {
    print("Inside main()");
    Cups.cup1.f(99);  // (1)
  }
  // static Cups cups1 = new Cups();  // (2)
  // static Cups cups2 = new Cups();  // (2)
} /* Output:
Inside main()
Cup(1)
Cup(2)
f(99)
*///:~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM