在引用java对象时,两者有什么区别?

时间:2016-04-04 13:31:10

标签: java

我对java很新。我有一个简单的问题。

public Object getObject() {

//`do something that results to an Object`

return object;

}

第一

Object object1 = new Object();
object1 = getObject();

第二

Object object1 = getObject();

两者有什么区别?哪个更好用?

2 个答案:

答案 0 :(得分:0)

他们返回同样的东西(在第一个例子的第一行添加&#34 ;;" P)。

答案 1 :(得分:0)

不同之处在于,在第一种情况下,当你用getObject()的结果替换它时,你首先要创建一个新的Object并立即将它扔到下一行。

如果稍微修改它,您会发现这两个对象是不同的实例。

Object object1 = new Object();
System.out.println(object1);
object1 = getObject();
System.out.println(object1);

运行时,不是打印值不同。这是因为有两个不同的值分配给object1。

这不是您想要使用的模式。你在这里所做的只是制作一个需要进行垃圾收集的对象。

我也不确定案例1是否有效。它不会编译,因为object是一个未定义的变量。您需要将其更改为return new Object();这样才能定义要返回的值。

你真正要做的就是说Object object = new Object();添加getObject函数真的不会给你买任何东西。