我編寫了getPlugin()
方法,以便能夠從另一個班級獲取主班級。試圖獲得另一個班級時的問題
public class Main extends JavaPlugin {
public Main getPlugin() {
return this;
}
}
但是,當我嘗試調用它...
public class Arena {
private Main plugin = Main.getPlugin();
}
... Eclipse中給了我以下錯誤:
Cannot make a static reference to the non-static method getPlugin() from the type Main
我使用的都是靜態的,但靜給我問題出現在很多不同的地方,我已經看到靜態通常是一種糟糕的做事方式。導致內存泄漏和東西。
我試過使用getters和setter,但那些也需要是靜態的? 我一直在使用的代碼非常混亂,我想找到一種更簡潔的方式來訪問另一個類。
靜是不是不好用。它有很多用例。靜態意味着無論您聲明爲靜態,任何類的所有實例都會共享該變量或方法。 – brso05 2014-10-29 18:22:38
如果getPlugin()方法不是特定於該類的實例,則應使用Static。 – brso05 2014-10-29 18:23:25
你需要了解什麼'靜態'是什麼以及何時適合使用。靜態與否,你也一定要*調用你的getPlugin()方法。 – 2014-10-29 18:26:00