关于程序中实例数的模糊问题

时间:2018-10-25 09:48:41

标签: java object

我有一个我认为比较模糊的问题。

通过以下方法创建A类的对象(实例)的数量:

void create() {
    A a;
    A b;
    A[] s;
    a = new A();
    b = a;
    s = new A[10];
}

class A { }

我不确定如何计算数组。我们可以很容易地看到对象a和b是相同的,但是我们是否将数组本身视为对象,还是我们认为它有10个对象,它们为空?

我先谢谢你!

2 个答案:

答案 0 :(得分:2)

s = new A[10]是A []的对象,它不是A类的对象。

因此,您不计算数组的10个空引用。

仅创建a = new A()

答案 1 :(得分:2)

我通过Eclipse Profiler运行了以上代码,发现仅创建了一个实例a = new A(),b也引用了该实例。因此,仅创建了一个实例。在将对象分配给数组的第一个索引之前,类型A的数组不会分配为null。希望这会有所帮助。