-------
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培训、期待与您交流! -------