2012-08-10 155 views
0

我有多個類,並試圖調用另一個類中的方法。 這應該工作,但它給錯誤:調用另一個類的方法java

TheMethods method = new TheMethods(); 

的Java告訴我,構造TheMethods()是不確定的。 我做錯了什麼?

編輯: 我需要一個引用傳遞到我的主類,並對其進行初始化。

回答

1

在您的構造函數中,您有一個參數MCTag m。如果你要使用這個構造器,你需要做的是這樣的:

TheMethods method = new TheMethods(MCTag m); 

構造就像任何其他方法,並必須有以正確的參數才能正常工作。

編輯: 這將是這個樣子:

MCTag myTag; 
TheMethods method = new TheMethods(myTag); 
method.selectPlayer(); 
+0

「令牌」m「上的語法錯誤,刪除此令牌」 – hawkfalcon 2012-08-10 00:30:00

+0

「MCTag m」是數據類型「MCTag」,「m」只是一個變量。所以你需要傳入'MCTag'類型的局部變量。 – BlackHatSamurai 2012-08-10 00:31:56

+0

好的。然後參考? – hawkfalcon 2012-08-10 00:35:46

1

你TheMethods提供的唯一的構造是

public TheMethods(MCTag m) {... 

這需要一個MCTag參數,而你試圖調用的,因爲編譯器告訴你,不存在一個無參數的構造函數。

0

添加默認的構造函數與無參數

公共TheMethods(){}

+0

那麼我就不能引用主類.. – hawkfalcon 2012-08-10 00:31:54

+0

當您必須創建一個新的TheMethods對象時,請確保您傳入一個類型爲mctag的參數。這樣,你不會遇到錯誤。 – Neel 2012-08-10 00:47:26

0

我在你的代碼中看到的唯一的構造函數是:

public TheMethods(MCTag m) 

,但你不傳遞任何您的示例代碼中的值在這裏

此處不存在任何TheMethods()ctor定義

-2

引用一個公共方法在另一個類,叫

Class.Method();