java类初始化的顺序

无意中在csdn的论坛看到这样一个程序段:
class Singleton {   
    
 private static Singleton obj = new Singleton();   
    
 public static int counter1;   
    
 public static int counter2 = 0;   
    
 private Singleton() {   
    
  counter1++;   
    
  counter2++;   
    
 }   
    
 public static Singleton getInstance() {   
    
  return obj;   
    
 }   
    
}   
public class MyMain {   
    
 public static void main(String[] args) {   
    
  Singleton obj = Singleton.getInstance();   
    
  System.out.println("obj.counter1=="+obj.counter1);   
    
  System.out.println("obj.counter2=="+obj.counter2);   
    
 }   
    
}   


结果:
obj.counter1==1
obj.counter2==0

 

 

 

posted @ 2011-03-10 20:32  qm4050  阅读(109)  评论(0)    收藏  举报