十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Java中初始化块详解

为中江等地区用户提供了全套网页设计制作服务,及中江网站建设行业解决方案。主营业务为成都网站设计、成都网站制作、中江网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
在Java中,有两种初始化块:静态初始化块和非静态初始化块.
静态初始化块:使用static定义,当类装载到系统时执行一次.若在静态初始化块中想初始化变量,那仅能初始化类变量,即static修饰的数据成员.
非静态初始化块:在每个对象生成时都会被执行一次,可以初始化类的实例变量.
非静态初始化块会在构造函数执行时,且在构造函数主体代码执行之前被运行.
括号里的是初始化块,这里面的代码在创建Java对象时执行,而且在构造器之前执行!
其实初始化块就是构造器的补充,初始化块是不能接收任何参数的,定义的一些所有对象共有的属性、方法等内容时就可以用初始化块了初始化!!
好处是可以提高初始化块的复用,提高整个应用的可维护性。--《疯狂java讲义》
package com.tiandinet.studyjava;
public class TestInitiateBlock {
{
System.out.println("In non-static initialization block!");
};
static {
System.out.println("In static initialization block!");
};
public TestInitiateBlock() {
System.out.println("In Constructor1!");
}
public void show() {
System.out.println("In show()!");
}
/**
* @param args
*/
public static void main(String[] args) {
TestInitiateBlock ti = new TestInitiateBlock();
ti.show();
}
} 运行结果:
In static initialization block! In non-static initialization block! In Constructor1! In show()!
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!