以下Java代码创建了一个名为Student的类和一个名为john的Student对象。它调用了哪个构造器?它将输出什么结果?

class Student {
    String name;

    Student(String name) {
        this.name = name;
    }

    Student() {
        this('Unknown');
    }
}

public class Main {
    public static void main(String[] args) {
        Student john = new Student();
        System.out.println('Name: ' + john.name);
    }
}

在这段代码中,创建了一个名为Student的类,它包含两个构造器:一个带有一个String类型参数的构造器和一个无参构造器。

在main方法中,创建了一个名为john的Student对象,通过调用无参构造器创建该对象。

该无参构造器内部调用了带有一个String类型参数的构造器,并传入参数'Unknown'。这是通过使用关键字this来调用其他构造器来实现的。

因此,运行这段代码将会输出:'Name: Unknown'。因为john对象的name属性被初始化为'Unknown'。

Java 类构造器调用及对象属性初始化 - 示例解析

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

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