构造代码块与静态代码块
public class ConstructorBlock {
/**
* @param args
*/
public static void main(String[] args) {
new Person();
new Person(10);
}
}
class Person{
private int age;
{
System.out.println("构造代码块被执行");
}
static{
System.out.println("静态代码块被执行");
}
public Person() {
super();
// TODO Auto-generated constructor stub
}
public Person(int age) {
super();
this.age = age;
}
}
运行结果:
静态代码块被执行
构造代码块被执行
构造代码块被执行
结论:
静态代码块随着类加载而执行,并且只执行一次
构造代码块,只要创建该类的对象,该类的构造代码块就执行 |
|