我正在尝试制作一个使用 scheduleSyncRepeatingTask
的插件,并且该任务是通过调用方法创建的。问题是试图从不同的类调用它。
当我尝试调用该方法时,它会说该方法需要静态
。因此,我将方法设为static
,然后 scheduleSyncRepeatingTask
中的第一个参数表示它不能在 static
上下文中使用。
我的方法
public static void newCountdown() {
Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
public void run() {
for (Player player : Bukkit.getServer().getOnlinePlayers()) {
player.sendMessage("Hey");
}
}
}, 0, 20);
}
我现在对 Java 还很陌生,static
变量仍然是我试图理解的东西,所以如果有人可以将我链接到我可以阅读的地方,甚至如果有视频那就太好了。
至于问题,如果有人有解决方案,那么我们将不胜感激。
最佳答案
查看this post快速简单地了解 static
关键字的解释。
为了避免出现该方法需要静态的错误,请在实例而不是类上调用该方法。
像这样:
Foo f = new Foo();
f.newCountdown();
而不是:
Foo.newCountdown();
关于java - 在重复任务中调用 'this' 时出现静态问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31250349/