Java:代码中创建了多少个对象?

时间:2014-11-05 15:39:08

标签: java object

以下代码中创建了多少个对象?

String a, b, c;
a = "1234";
b = a;
c = a + b;

我被告知答案是2,因为只有a和b指向他们自己的数据。

c仅使用ab创建。但是,不是宣布变量被认为是创建的行为吗?这个问题含糊不清吗?我说3

2 个答案:

答案 0 :(得分:3)

a = "abcd"创建一个String对象,并使用值“abcd”对其进行初始化。这是一个对象

b = a使b指向与a相同的位置,因此a + b将创建一个新对象,然后将其分配给c。这使得总共创建了两个对象

答案 1 :(得分:0)

我认为答案是2.当b = a时,实际上a是对b的引用。当你在日食上调试你的程序时,你会看到a和b有相同的id。它们实际上是一个对象。