2012-03-16 75 views
3

有沒有什麼方法可以在Java中使用靜態方法中的this關鍵字?我想在我的活動類的靜態方法內顯示Toast消息。我怎麼做?謝謝。如何在java中使用靜態方法使用this關鍵字?

+0

你在靜態方法中使用這個關鍵字的情況是什麼? – 2012-03-16 04:40:13

+0

編輯我的問題。我必須在靜態欄中顯示Toast消息 – Santhosh 2012-03-16 04:41:28

+1

添加您想查看工作的不正確的代碼,並讓我們看看是否有人知道您想要執行的操作。 – Java42 2012-03-16 04:45:21

回答

5

您可以創建一個靜態方法,其中一個輸入參數是您需要使用的類。

例如:

public static void showMyTouch(MyActivity act, String message){ 
    Toast.makeText(act, message, Toast.LENGTH_LONG).show(); 
} 
+1

+1用'Activity'或'Context'代替'MyActivity'更有用和一般。 – 2012-03-16 04:47:46

+0

是的,我們可以使用所有東西,這是一個簡單的例子,「Toast消息」:D。感謝您的評論:) – NamLe 2012-03-16 04:51:37

3

不,沒有什麼可以指代的。

0

這指的是實例成員和靜態方法將只訪問靜態變量

+2

答案基本上沒有意義。 – EJP 2012-03-16 04:49:40

+0

@ejp我希望喲說你說什麼我也編輯了我的答案 – 2012-03-16 08:43:19

+3

現在你的*評論*是沒有意義的。你希望我說了我的話嗎? – EJP 2012-03-17 05:02:37

0

我相信「這個」表示調用方法的對象。靜態方法並不特別綁定到任何特定的對象。相反,他們是類級別的方法。這就是爲什麼「this」不能用於靜態方法。

6

現在呢?

static void thisInStatic(){ 
    new Object(){ 
     Object instance = this; 
    }; 
} 
+4

嗯,'this'指的是你創建的對象,但是是的+1,你確實把'this'放在了一個靜態方法裏面:) – 2012-03-16 04:57:03

-1

這是指將要創建的對象。你不能從staitc方法訪問這樣的對象。讓你注意它。這裏給你一些有用的鏈接http://mindview.net/Books/TIJ4

+1

您的第一句話只在構造函數中才是真的。在其他有效的地方,它指的是一個已經存在的對象。 -1 – EJP 2013-11-29 23:06:33

相關問題