一个类可以使用不包含在任何方法体中的静态代码块,当类被载入时,静态代码块被执行,且只执行一次,静态代码块经常用来进行类属性的初始化。
如下例所示:
1 class Person 2 { 3 public Person() 4 { 5 System.out.println("1. public Person()"); 6 } 7 //此段代码会首先被执行 8 static 9 { 10 System.out.println("2. Person类的静态代码块被调用!"); 11 } 12 } 13 public class text2 { 14 15 //运行本程序时,静态代码块会被自动执行 16 static 17 { 18 System.out.println("3. text2类的静态代码块被调用!"); 19 } 20 public static void main(String[] args) { 21 // TODO Auto-generated method stub 22 System.out.println("4. 程序开始执行!"); 23 //产生两个实例化对象 24 new Person(); 25 new Person(); 26 } 27 28 }
运行结果为:
3. text2类的静态代码块被调用! 4. 程序开始执行! 2. Person类的静态代码块被调用! 1. public Person() 1. public Person()
程序首先执行text2类,所以此程序的静态代码块会首先被执行。
本文转自夏雪冬日博客园博客,原文链接:http://www.cnblogs.com/heyonggang/archive/2013/05/13/3076202.html,如需转载请自行联系原作者