簡體   English   中英

在引用Java對象時,兩者之間有什么區別?

[英]In referencing a java object, what is the difference between the two?

我是java的新手。 我有一個簡單的問題。

public Object getObject() {

//`do something that results to an Object`

return object;

}

第一:

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

第二名:

Object object1 = getObject();

兩者有什么區別? 哪個更好用?

它們返回相同的內容(將“;”添加到第一個示例的第一行:P)。

區別在於,在第一種情況下,您首先要制作一個新的Object,然后在用getObject()的結果替換它時立即將其丟棄在下一行。

如果稍加修改,您將看到兩個對象是不同的實例。

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函數實際上並沒有買任何東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM