静态代码段有什么用?
class   A 
 { 
 	static 
                            { 
 		System.out.println( "12313123132123123 "); 
 	} 
                            { 
                                                       System.out.println( "12313123132123123 "); 
                            } 
 	int   m=1; 
 	public   void   out() 
 	{ 
 		System.out.println( "a "); 
 	} 
 }   
 这个类中有一个静态代码段static{};还有一个{},可能叫非静态代码段吧。请问什么时候需要在类中定义这些代码段?有什么用处呢?谢谢
------解决方案--------------------static成员变量或者static函数 
 是不随着对象实例化的,是面向类的   
 比如有一个类A 
 class a{ 
  public static int int_a = 0; 
  public int int_b = 1;    
  public static void test1(){ 
   System.out.println(int_a); 
  }   
  public void test2(){ 
   System.out.pringln(int_b); 
  } 
 }   
 这里声明了一个类A,有2个成员函数和2个成员变量 
 标记为static的是在类编译阶段生效的 
 不标记的是在对象编译阶段生成的   
 如果这样调用   
 //不声明对象,直接调用static方法 
 A.test1();   
 //声明2个对象 
 A test_a = new A(); 
 A test_b = new A();   
 //static变量相当于这个类的全局变量,只初始化一次 
 //普通变量每次对象NEW时都创建一个副本 
 test_a.int_a++;   //此时int_a为1 
 test_a.int_b++;   //此时int_b为1 
 test_a.test1(); 
 test_a.test2();   
 test_b.int_a++;   //此时int_a为2 
 test_b.int_b++;   //此时int_b为1 
 test_b.test1(); 
 test_b.test2();   
 基本上就是这个意思   
 static变量常用来模拟全局变量/函数 
 另外就是在模式设计中常用的单例模式和工厂模式