我有一个我认为比较模糊的问题。
通过以下方法创建A类的对象(实例)的数量:
void create() {
A a;
A b;
A[] s;
a = new A();
b = a;
s = new A[10];
}
class A { }
我不确定如何计算数组。我们可以很容易地看到对象a和b是相同的,但是我们是否将数组本身视为对象,还是我们认为它有10个对象,它们为空?
我先谢谢你!
答案 0 :(得分:2)
s = new A[10]
是A []的对象,它不是A类的对象。
因此,您不计算数组的10个空引用。
仅创建a = new A()
。
答案 1 :(得分:2)
我通过Eclipse Profiler运行了以上代码,发现仅创建了一个实例a = new A()
,b也引用了该实例。因此,仅创建了一个实例。在将对象分配给数组的第一个索引之前,类型A的数组不会分配为null。希望这会有所帮助。