静态初始化器的定义(initializer)

静态初始化器是由关键字static引导的一对大括号括起的语句组。作用是:在加载时,初始化类的静态域。如有多个static{}程序段,则在类的初始化时,会依次执行。

  与构造函数相同,他们都是用来完成初始化的工作,但是静态初始化器与构造函数有三点不同:

  ①构造函数是对每个新创建的对象初始化,而静态初始化器是对类自身进行初始化。

  ②构造函数是在用new运算符产生新对象时由系统自动执行,而静态初始化器则是在它所属的类加载到内存时由系统调用执行。

  ③不同于构造函数,静态初始化器不是方法,没有方法名、返回值和参数列表。

优点:

       当类有一些静态变量,同时不能用一行代码解决初始化时,可以使用这个方法。而不是建一个initial方法,每次new的时候都调用一次。

 

代码样例:

class Person {

	private static final Date BOOM_START;

	static {
		Calendar gmtCal = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
		gmtCal.set(1946, Calendar.JANUARY, 1, 0, 0, 0);
		BOOM_START = gmtCal.getTime();
	}

}


 

你可能感兴趣的:(Java学习笔记)