Java 生成自定义数据类型的数组时调用哪个构造函数?
在为数组实例化对象时,是否在第1行调用构造函数?如果是,并且它是默认的,那么假设我们从我们这边编写一个参数化构造函数。既然JVM提供的默认构造函数不再存在,那么现在调用什么呢?如果有人能够解释在执行第1行中的语句时发生的确切步骤,这将非常有帮助。谢谢 是在为数组实例化对象时在第1行中调用的构造函数 否。未调用学生构造函数。它仅分配大小为2的Student类型的数组对象。数组中的所有元素都将初始化为null 在指定给数组元素时,必须创建一个新的Student对象。为此,您可以调用学生类构造函数Java 生成自定义数据类型的数组时调用哪个构造函数?,java,arrays,object,jvm,instantiation,Java,Arrays,Object,Jvm,Instantiation,在为数组实例化对象时,是否在第1行调用构造函数?如果是,并且它是默认的,那么假设我们从我们这边编写一个参数化构造函数。既然JVM提供的默认构造函数不再存在,那么现在调用什么呢?如果有人能够解释在执行第1行中的语句时发生的确切步骤,这将非常有帮助。谢谢 是在为数组实例化对象时在第1行中调用的构造函数 否。未调用学生构造函数。它仅分配大小为2的Student类型的数组对象。数组中的所有元素都将初始化为null 在指定给数组元素时,必须创建一个新的Student对象。为此,您可以调用学生类构造函数 c
class Student
{
private String name;
private int rollno;
}
public void someMethod()
{
Student s = new Student[2]; // line 1
// do something here
}
目前,学生类只有默认构造函数。你的问题是什么?我有多个问题,取决于标题中的答案是什么。我想如果我以树的形式把它们都提到,那就太好了。社区显然不喜欢它,这造成了混乱。我道歉。我已编辑了问题的正文。希望它现在有意义。在上面的代码中根本没有调用
Student
的构造函数。您只需初始化一个大小为2的数组,其中两个索引都将指向null
。
s[0] = new Student();