黑马程序员技术交流社区
标题:
[代码块]三大代码块
[打印本页]
作者:
可以假装看不见
时间:
2016-5-27 23:21
标题:
[代码块]三大代码块
构造代码块与静态代码块
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;
}
}
复制代码
运行结果:
静态代码块被执行 //跟随类的加载而加载,但是只调用一次 在加载类的时候调用了一次
构造代码块被执行 //new对象的时候调用,第一次空参对象调用
构造代码块被执行 //第二次new带参的时候,通过super();调用一次
结论:
静态代码块随着类加载而执行,并且只执行一次
构造代码块,只要创建该类的对象,该类的构造代码块就执行
作者:
nanliner
时间:
2016-5-28 00:20
这个很好记的,顶一个
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2