静态初始化器的定义(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();
	}

}


 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值