构造块
1.在类体中直接使用{}括起来的代码块
2.每创建一个对象,都会执行一次构造块
public class test {
{
System.out.print("构造块");
}
test() {
System.out.print("构造函数");
}
public static void main(String[] args) {
test test1 = new test();
}
}
打印的顺序是构造块->构造函数,可以看出,构造块的顺序,是在构造方法前面的,我们可以把一些初始化操作放在构造块中,那么有人会问了,那我们为什么不可以放在构造函数中,那里也可以初始化一些参数,这里就要说说了,如果有多个构造方法呢?那么就可能没有办法把每个参数都初始化一边了,因为有些构造函数并没有把所有参数都初始化了
静态代码块
public class test {
{
System.out.print("构造块");
}
static {
System.out.print("静态代码块");
}
test() {
System.out.print("构造函数");
}
public static void main(String[] args) {
test test1 = new test();
test test2 = new test();
}
}
静态代码块会先于构造块执行,也就是第一个执行的
我们创建了两个对象,但是静态代码块只会执行一次
网友评论