2013-05-01 100 views
0

爲什麼當我們可以實例化一個類直接類實例化VS檢索參考

Human human1 = new Human("john", "doe"); 

,當我們檢索到的實例的引用爲什麼和已經完成?

Context.getSystemService(Context.TELEPHONY_SERVICE). 
+0

你能給我們多一點情景嗎?或者你是否以非常廣泛的術語詢問對象實例? – 2013-05-01 15:50:41

+0

廣義術語我猜。 – tony9099 2013-05-01 15:51:04

回答

1

只能檢索到A類的引用:當你知道它已被實例化本身和B:當你有適當的訪問,以獲得您想要的參考。你這樣做的原因是因爲你已經創建了這個實例需要做一些工作,並且你希望這個工作可用於這個實例的未來使用,例如改變John Doe的姓。

另一方面,您可以隨時選擇實例化新對象,但並不總是有用。例如沒有理由做到以下幾點:

Human human1 = new Human("John", "Doe"); 
human1 = SomeHumanThatAlreadyExists; 

第一行是無用的,而這約翰,能源部,對象最終會被垃圾回收不被使用。這是基本問題的基本答案,如果您想要更高級的答案,請提出更具體的問題。

2

每次調用類構造函數時,都會創建該類的新實例。在你的例子中,你可以有幾個獨立存在的「John Doe」Human實例。您可以參考singelton。每個Android應用程序都將與同一個TELEPHONY_SERVICE實例交流。