我编写了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