我很困惑,因为我是java的新手,在下面这段代码中创建了多少个对象和引用?
MyClass t = new MyClass();
MyClass s = new MyClass();
MyClass v = s;
请解释答案:
2 Objects
3 References
答案 0 :(得分:6)
一张图片胜过千言万语:
答案 1 :(得分:2)
对象是使用new
创建的类的实例。您使用new
两次,因此有两个对象。 *
一般来说,变量是一个引用。 ** 所以有三个引用(t
,s
,v
),尽管两个它们碰巧引用同一个物体。
<小时/> *当然,
MyClass
本身可能会在内部创建更多对象。
**除基本类型外,例如int
,float
等
答案 2 :(得分:2)
2对象和
3参考
如果你new
你正在创建对象,那么有两个新的只需要两个对象
如果你定义
Foo a;// you have just created a reference
*注意:new
只是一种创建对象的方法,它也可以使用其他方式创建
答案 3 :(得分:2)
所以你要创建一个新对象并在t
中存储对该对象的引用。 s
也是如此。然后,您将s
引用分配给v
(不创建新对象)。所以你有三个引用和两个对象。
答案 4 :(得分:0)
实际上,你的回答是错误的。这是相反的方式:
2个对象(前两行)
3个引用(t,s,v,v和s共享一个对象)