我一直有問題,通過方法訪問私有變量下的一類到另一個類,比如現在我有這樣的問題:我如何解決這個非靜態和靜態變量通過一次性訪問方法?
我有發言權類Hello1這個變量:
private Item[][] bankTabs;
和我想通過另一個類訪問它說hello2,所以我做的Hello1公共方法是這樣的:
public int amountOfItemInBank(int id) {
int amountInBank = 0;
for(int i = 0; i < bankTabs.length; i++) {
for(int i2 = 0; i2 < bankTabs[i].length; i2++) {
if (bankTabs[i][i2].getId() == id)
amountInBank = bankTabs[i][i2].getAmount();
}
}
return amountInBank;
}
,但是當我想通過Hello2訪問它時,它告訴我該方法不是靜態的,當我將其設置爲靜態時,amountOfItemInBank中的變量bankTabs不起作用,並且出現很多錯誤。
所以,當我去Hello2類,我嘗試調用此方法是這樣的:
Hello1.amountOfItemInBank(50);
我怎麼能解決這個問題?
向我們展示您調用該方法的代碼? – anirudh
你明白'靜態'的含義嗎?你不應該爲了它而將事物設置爲靜態的(或非靜態的) - 考慮一個方法是否在邏輯上作用於一個實例。 –
你可能在初始化'Hello1'類時填充'bankTabs'。看到它如何告訴你方法不是靜態的,你可能試圖在類上調用這個方法,而不是在一個不可用的對象上。 – gpgekko