静态实例初始化要点

来源:互联网 发布:淘宝1号店 编辑:程序博客网 时间:2024/05/17 06:07

1、静态实例初始化只进行一次

2、静态实例初始化只有在必要时刻进行(如果1和2都注释掉,静态实例初始化不会进行)

 

例:

//: ExplicitStatic.java   
// Explicit static initialization   
// with the "static" clause.   
  
class Cup {  
  Cup(int marker) {  
    System.out.println("Cup(" + marker + ")");  
  }  
  void f(int marker) {  
    System.out.println("f(" + marker + ")");  
  }  
}  
  
class Cups {  
  static Cup c1;  
  static Cup c2;  
  static {  
    c1 = new Cup(1);  
    c2 = new Cup(2);  
  }  
  Cups() {  
    System.out.println("Cups()");  
  }  
}  
  
public class ExplicitStatic {  
  public static void main(String[] args) {  
    System.out.println("Inside main()");  
    Cups.c1.f(99);  // (1)   
  }  
  static Cups x = new Cups();  // (2)   
  static Cups y = new Cups();  // (2)    
} ///:~

 

 

原创粉丝点击