我是Java的新手,我刚刚处理了对象数组。我很好奇为什么Java要求我对数组使用以下语法
SomeClass[] object = new SomeClass[50]; // any positive integer works
object[2] = new SomeClass(some, parameters);
据我了解, new 关键字在内存中分配实例的数据。我想知道为什么Java在这里两次使用 new 关键字。我认为它只需要在初始化对象时使用new关键字,而不是在声明对象时使用。所以,我的问题是:为什么Java在创建对象数组时会使用new关键字两次?
答案 0 :(得分:4)
这里,new
关键字被使用了两次,因为正在创建两个对象 - 一个数组和一个SomeClass
恰好放在数组中。
答案 1 :(得分:1)
第一个是创建一个引用数组。第二个是为数组中的每个元素创建实际对象。
答案 2 :(得分:1)
你需要创建容器(在你的情况下是一个数组),以及你的每个元素(也是一个对象)打算放在那个容器里。
在你的情况下,我注意到你创建了一个包含50个元素的数组。这意味着您可以索引 object[0]
直至并包括object[49]
。创建容器后,每个object[n]
都将成为null
引用。
答案 3 :(得分:1)
SomeClass[] object = new SomeClass[50];
分配一个包含50个未初始化引用的数组
object[2] = new SomeClass(some, parameters);
分配并实例化数组中第三个索引引用的对象