您的位置:首页 > 职场人生

黑马程序员_java静态代码块、构造代码块和构造函数的执行时间分析

2014-07-09 19:38 267 查看
------- android培训java培训、期待与您交流! ----------
java中有几个比较特殊的代码块,有些随着类的加载而执行,有些是随着对象的加载而执行。这里我们讲一下java中的静态代码块、构造代码块以及构造函数的执行时间特点。

下面这段代码中有两个类Demo和ConstructionDemo. Demo类中有一个静态代码块,ConstructionDemo中有一个静态代码块、一个构造代码块和一个构造函数。

class Demo{
static{
System.out.println("静态代码块");
}
public static void main(String[] args){
ConstructionDemo cd1 = new ConstructionDemo();
System.out.println("-----------------------");
ConstructionDemo cd2 = new ConstructionDemo();
}
}
class ConstructionDemo{
static{
System.out.println("静态代码块2");
}
{
System.out.println("构造代码块");
}
public ConstructionDemo(){
System.out.println("构造函数");
}
}


程序的执行结果:

静态代码块

静态代码块2

构造代码块

构造函数

-------------------------------

构造代码块

构造函数

上面的结果可以看出:

1. 静态代码块只执行了一次。它是随着类的加载而执行的,类只加载了一次,所以静态代码块就只执行一次。

2. 构造代码块执行了两次。因为它是随着对象的建立而执行的,我们创建了两个对象,所以就执行了两次。

3. 构造代码块先于构造函数执行。

4. 构造函数执行了两次。因为我们创建了两个对象。

------- Windows Phone 7手机开发.Net培训、期待与您交流! -------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐