假设有一个MyObject类,它有一个MyClass()构造函数并且已正确实现。
当我们调用那行代码时,它会创建MyClass对象的实例还是会发生其他事情?
编辑:显然这个问题并不是很受欢迎。如果它含糊不清,我很抱歉。这只是一个要求T / F的作业问题。
我打算问: 如果我们有 MyClass [] [] x = new MyClass [n] [n]; //其中n是数字 它会创建N * n个MyClass对象的实例,还是只创建n * n个空引用?
事实证明
MyClass[][] x = new MyClass[n][n]; // where n is a number
x[0][0] = new MyClass();
与
不同MyClass x = new MyClass();
答案 0 :(得分:1)
如果Array是任何对象,则Array中的每个插槽最初都是null
(原始数据类型只会产生其默认值)。就像String x;
其中x
将是null
一样,在这种情况下,它是null
值的数组。
Array仍然是为它创建的对象类型,例如String,只有所有的插槽都是null
并且需要实例化。例如bigArray[1] = new String("Hello!");
如果您希望数组包含某种默认值,则需要填充数组。
MyObject array = new MyObject[3]; //New array that can hold three
for(int i = 0; i < array.length; i++){ //Start i at zero, while it's less than the spots in the array, and add one every time
array[i] = new MyObject(); //Set the spot to a "real" object now.
}