2017-08-25 81 views
-4

嗨只是想知道什麼樣的機制是這樣的,我們得到這在Java中已經創建或android.For例如在Android的對象:上述OBJECT CREATION沒有「new」關鍵字

1. Toast.makeText(Context context,"String",int duration); 
2. getApplication context(); 

頭號返回敬酒對象我們從來沒有實例化自己 第二個返回一個我們從未創建的上下文對象。

這是如何發揮出來的,創造物體在哪裏?這與創建這個對象的系統有關嗎?我是否應該關心自己是如何創建的,否則這將浪費時間,我應該在不知道這一點的情況下按照文檔使用這些對象。我認爲這是一種單一設計模式,但上下文的構造器是公共和上下文也是抽象的,所以我們不能實例化它,除非我們使用sublcass。任何有正確答案的人都可以提供幫助,因爲從長遠來看,這對我的編程幫助很大。

+0

每個應用程序都可以擁有許多對象,這些對象來自您的幫助類.... –

+0

該對象在調用的方法中創建並且該參考將返回 – Jens

+1

如果是第一個,您可以在IDE中使用「轉到源代碼」並親自查看。 – jereksel

回答

1

不是實際上後端方法正在爲您創建一個對象。 makeText是一個Toast類的靜態方法,它返回一個Toast對象。

假設你有一個名爲MyClass的類,它有一個返回MyClass實例的getObject方法,所以你這個方法的調用者只需要調用沒有任何'new'關鍵字的方法,你就會返回實例。

+0

感謝您的回答非常簡單,並提供了豐富的信息 – kobewarui

+0

快樂在我身邊:) –

0

還記得Android主要是一個框架,照顧你的辛勤工作。當你實例化一個活動時,你正在創建一個繼承自公共抽象類Context的子類的子類。所以從本質上講,你實際上只是創建一個繼承所有這些方法的類

+0

感謝您的反饋 – kobewarui