Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中创建数组对象?_Java_Arrays - Fatal编程技术网

在Java中创建数组对象?

在Java中创建数组对象?,java,arrays,Java,Arrays,我是Java新手,在数组方面有点小问题。在给定的一个练习中,必须使用“addExam”方法创建一个名为“Exam”的类。现在我试图解决这个问题,但只得到了CAS的定义、实例变量和方法标题。其余的我在解决方案中查找,它看起来像: public class Exam{ private int numberOfExams=15; private Exam[]exams = new Exam[numberOfExams]; public void addExam(Exam exam){ exams[n

我是Java新手,在数组方面有点小问题。在给定的一个练习中,必须使用“addExam”方法创建一个名为“Exam”的类。现在我试图解决这个问题,但只得到了CAS的定义、实例变量和方法标题。其余的我在解决方案中查找,它看起来像:

public class Exam{
private int numberOfExams=15;
private Exam[]exams = new Exam[numberOfExams];

public void addExam(Exam exam){
exams[numberOfExams] = exam;
numberOfExams++;
现在我的问题是:当我在addExam方法中将“exam”分配给数组检查时,这里是否创建了一个新对象?如果是,为什么不使用bracktes和“新操作符”?这个问题引出了一个更一般的问题:我知道数组是类类型的,它们现在是否创建该数组类型的数组对象或变量

我真的需要帮助

public void addExam(Exam exam){
exams[numberOfExams] = exam;
否。未创建新对象,对象在此传递的内容已分配给数组的第0个元素

创建新对象的实际位置是addExam方法调用的位置。差不多

Exam exam = new Exam();
// do something
addExam(exam);
否。未创建新对象,对象在此传递的内容已分配给数组的第0个元素

创建新对象的实际位置是addExam方法调用的位置。差不多

Exam exam = new Exam();
// do something
addExam(exam);
将“检查”分配给数组时,它不会创建新对象。它只存储数组中现有对象的引用

如果我理解了你的第二个问题,当你用一个调用创建一个数组时,比如
Exam[]exams=newexam[numberOfExams]创建一个对象,该对象包含足够的空间来引用
numberofexamies
对象

顺便说一句,
examies[numberofexamies]=考试
将为您提供一个
数组索引OutofBoundsException
,因为您的数组具有
NumberOfExamies
元素,所以有效索引从0到
NumberOfExamies-1
当您为数组分配“检查”时,它不会创建新对象。它只存储数组中现有对象的引用

如果我理解了你的第二个问题,当你用一个调用创建一个数组时,比如
Exam[]exams=newexam[numberOfExams]创建一个对象,该对象包含足够的空间来引用
numberofexamies
对象

顺便说一句,
examies[numberofexamies]=考试
将为您提供一个
数组索引OutofBoundsException
,因为您的数组具有
NumberOfExamies
元素,所以有效索引从0到
NumberOfExamies-1

当我在addExam方法中将“exam”分配给数组检查时,这里是否创建了一个新对象

。对现有
Exam
实例的引用将添加到数组中。因此,您将有两个对
Exam

当我在addExam方法中将“exam”分配给数组检查时,这里是否创建了一个新对象


。对现有
Exam
实例的引用将添加到数组中。因此,您将有两个对同一个
Exam

实例的引用,该实例看起来像
ArrayIndexOutOfBoundsException
。。。我的意思是,创建一个大小为15的数组,然后索引到
[15]
并递增?第一次打电话就应该崩溃了。一个大小为<代码> 15 < /COD>的数组具有从<代码> 0…14 <代码>中的索引。它们提供了更大的灵活性;列表。添加(新考试())谢谢!这似乎更有效,它看起来像一个
数组索引边界外异常
。。。我的意思是,创建一个大小为15的数组,然后索引到
[15]
并递增?第一次打电话就应该崩溃了。一个大小为<代码> 15 < /COD>的数组具有从<代码> 0…14 <代码>中的索引。它们提供了更大的灵活性;列表。添加(新考试())谢谢!那似乎更有效谢谢,那真的很有帮助!谢谢,那真的很有帮助!