对的,对象初始化时,会先执行构造方法,然后再执行初始化块。

'构造方法'是用来初始化对象的方法,它可以有参数,也可以没有参数。当创建一个对象时,会自动调用该对象的构造方法来初始化对象的成员变量。

'初始化块'是在构造方法执行之前执行的代码块,它是用来初始化对象的非静态成员变量的。初始化块可以有多个,它们的执行顺序是按照它们在代码中的顺序依次执行的。无论创建多少个对象,初始化块都只会执行一次。

以下是一个示例代码,展示了对象初始化时构造方法和初始化块的执行顺序:

public class MyClass {
    private int num;

    {
        System.out.println('初始化块1');
        num = 1;
    }

    public MyClass() {
        System.out.println('构造方法');
    }

    {
        System.out.println('初始化块2');
        num = 2;
    }

    public static void main(String[] args) {
        MyClass obj = new MyClass();
    }
}

输出结果为:

初始化块1
初始化块2
构造方法

可以看到,先执行了初始化块1,然后执行了初始化块2,最后执行了构造方法。

Java 对象初始化:构造方法与初始化块执行顺序

原文地址: https://www.cveoy.top/t/topic/o8cw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录