2016-10-15 47 views
-9

我正在學習Java和一個相當新的開發人員的代碼,所以我很抱歉,如果這個問題是漫無目標和結構不良。我想知道爲什麼在聲明泛型方法的類型時必須使用'new'關鍵字。例如,當調用一個通用的方法時,我被告知我應該這樣寫,但是爲什麼找不到任何解釋。Java - 爲什麼在調用泛型方法時需要'new'關鍵字?

類內:

公共無效方法名(T類型名)

主程序:

ClassName.MethodName(新類型名());

預先感謝您!

+2

這與泛型沒有任何關係。如果你需要一個'Object',你還需要一個'Object'的實例來傳入。 – tkausl

+0

你能告訴我這與泛型無關嗎?我直接引用了我目前正在查看的有關「通用方法」的學習來源。顯然,這不是完整的代碼片段,只是我認爲需要提供的基本知識來幫助我理解爲什麼參數中需要「新」。 –

+0

因爲您要在「主程序」行中創建一個對象,所以不要聲明它。基本的Java規則聲明您需要使用new關鍵字來執行此操作。泛型沒有什麼不同,所以你的問題與泛型沒有任何關係。此外,您的代碼看起來不像編譯的代碼,因爲您似乎試圖調用實例方法,就好像它是靜態方法一樣。 –

回答

2

無論通用還是沒有,你的方法需要一個對象的引用,所以這就是爲什麼你用關鍵字new

實例也應該new T()因爲這是你的方法簽名的類型。 TypeName是你選擇的參數的名稱...

相關問題