Java - 构造块和静态代码块

2022-06-05  本文已影响0人  aven_kang

构造块

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();


    }
    
}

静态代码块会先于构造块执行,也就是第一个执行的
我们创建了两个对象,但是静态代码块只会执行一次

上一篇 下一篇

猜你喜欢

热点阅读