java—生成自定义数据类型的数组时调用哪个构造函数?

smtd7mpg  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(372)
class Student
{
    private String name;
    private int rollno;
}

public void someMethod()
{
    Student s = new Student[2];  // line 1
    // do something here
}

在示例化数组的对象时,是否在第1行中调用了构造函数?如果是,并且它是默认值,那么假设我们从我们这边编写了一个参数化的构造函数。既然jvm提供的默认构造函数已经不存在了,那么现在调用什么呢?如果有人能解释在执行第1行中的语句时发生的确切步骤,那将非常有帮助。谢谢。

6pp0gazn

6pp0gazn1#

是在示例化数组的对象时在第1行中调用的构造函数
不。不调用学生构造函数。它只分配一个大小为2的student类型的数组对象。数组中的所有元素都将被初始化为null。
在指定给数组元素时,必须创建一个新的student对象。为此,您可以调用学生类构造函数。

s[0] = new Student();

目前,student类只有默认的构造函数。

相关问题