温馨提示×

Java构造函数的调用时机如何

小樊
85
2024-11-19 21:46:58
栏目: 编程语言

在Java中,构造函数的调用时机是在创建对象时自动发生的。当你使用关键字new来创建一个类的实例时,构造函数会被调用。以下是构造函数调用时机的详细解释:

  1. 当创建一个新对象时,Java虚拟机(JVM)会分配内存空间给这个新对象。
  2. 接下来,JVM会调用类的默认构造函数(如果没有定义任何构造函数的话)或者指定的构造函数来初始化对象的属性。
  3. 构造函数执行完毕后,对象就被创建成功了,你可以使用这个对象来调用其他方法或访问属性。

以下是一个简单的Java类示例,展示了构造函数的调用时机:

public class MyClass {
    private String name;

    // 默认构造函数
    public MyClass() {
        System.out.println("Default constructor called");
    }

    // 带参数的构造函数
    public MyClass(String name) {
        this.name = name;
        System.out.println("Parameterized constructor called");
    }

    public static void main(String[] args) {
        // 调用默认构造函数创建对象
        MyClass obj1 = new MyClass();

        // 调用带参数的构造函数创建对象
        MyClass obj2 = new MyClass("John Doe");
    }
}

输出结果:

Default constructor called
Parameterized constructor called

在这个例子中,当我们使用new MyClass()创建一个MyClass对象时,默认构造函数被调用。当我们使用new MyClass("John Doe")创建一个MyClass对象时,带参数的构造函数被调用。

0