Java静态和非静态以及世界接口不可实现的错误

时间:2017-05-13 23:58:28

标签: java static bukkit non-static

我遇到了

的问题
  

无法对非静态方法spawnParticle(blabla)进行静态引用

这就是我所说的代码..

    public class Particle implements CommandExecutor
    {

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] arg) {

        if (sender instanceof Player)
        {
            Particle particle = new Particle();
            Player player = (Player) sender;
            double x = ((Player) sender).getLocation().getX();
            double y = ((Player) sender).getLocation().getY();
            double z = ((Player) sender).getLocation().getZ();

            World.spawnParticle(org.bukkit.Particle.TOTEM, x, y, z, 1, 0, 0, 0);

        }
        return false;
    }


}

我已经阅读了很多关于非静态静态问题解决的知识,并且知道这个问题意味着什么,但我真的不知道如何在这里解决它。 问题扩展到那个世界是一个界面,不能增强。修复内容在评论中感谢您的帮助

1 个答案:

答案 0 :(得分:1)

该方法是一个实例方法,这意味着您必须使用new实例化对象,而World是一个接口,因此您不能实例化它,您必须实例化一个实现此接口的类,该方法具有世界

(别忘了导入WorldEvent类)

<div class="bigcrazydivwithbackground">
<div class="crazybox">
<div class="crazytitle">
    Title
</div>

<div class="crazyinner">
    <div class="crazyinputwrapper">
    <input type="text" />
    </div>

</div>

</div>
</div>