Java 在接口上扩展方法

Java 在接口上扩展方法,java,minecraft,bukkit,Java,Minecraft,Bukkit,这可能是基本的java,但我对这种语言还不熟悉,所以请原谅我 我想扩展的方法,这样,除了它的正常步骤外,它还将抛出一个自定义事件/异常 我试图这样做的结果是关于抽象的错误,不能有身体 此外,我无法判断这是一个类还是一个接口,这意味着我不确定是否应该使用extends或implements 最后,我希望添加此功能,而不是创建一个新对象 你能告诉我这是否可行/把我引向正确的方向吗?非常感谢您的帮助。livingenetity是一个接口,craftLivingenetity是一个类。您只能扩展一个类,

这可能是基本的java,但我对这种语言还不熟悉,所以请原谅我

我想扩展的方法,这样,除了它的正常步骤外,它还将抛出一个自定义事件/异常

我试图这样做的结果是关于抽象的错误,不能有身体

此外,我无法判断这是一个类还是一个接口,这意味着我不确定是否应该使用extends或implements

最后,我希望添加此功能,而不是创建一个新对象


你能告诉我这是否可行/把我引向正确的方向吗?非常感谢您的帮助。

livingenetity
是一个接口,
craftLivingenetity
是一个类。您只能扩展一个类,实现一个接口。接口本身没有“正常步骤”

如果您可以控制是实例化
CraftLivingEntity
还是其他类,请按如下方式扩展CLE

public class MyCraftLivingEntity extends CraftLivingEntity {

    @Override // just a marker annotation to help catch inheritance issues
    public void setCustomName(String name) {

         super.setCustomName(name);

         // do whatever else
    }
}

并实例化您的类。

LivingEntity
是一个接口,
CraftLivingEntity
是一个类。您只能扩展一个类,实现一个接口。接口本身没有“正常步骤”

如果您可以控制是实例化
CraftLivingEntity
还是其他类,请按如下方式扩展CLE

public class MyCraftLivingEntity extends CraftLivingEntity {

    @Override // just a marker annotation to help catch inheritance issues
    public void setCustomName(String name) {

         super.setCustomName(name);

         // do whatever else
    }
}

并实例化您的类。

LivingEntity
是一个接口,
CraftLivingEntity
是一个类。您只能扩展一个类,实现一个接口。接口本身没有“正常步骤”

如果您可以控制是实例化
CraftLivingEntity
还是其他类,请按如下方式扩展CLE

public class MyCraftLivingEntity extends CraftLivingEntity {

    @Override // just a marker annotation to help catch inheritance issues
    public void setCustomName(String name) {

         super.setCustomName(name);

         // do whatever else
    }
}

并实例化您的类。

LivingEntity
是一个接口,
CraftLivingEntity
是一个类。您只能扩展一个类,实现一个接口。接口本身没有“正常步骤”

如果您可以控制是实例化
CraftLivingEntity
还是其他类,请按如下方式扩展CLE

public class MyCraftLivingEntity extends CraftLivingEntity {

    @Override // just a marker annotation to help catch inheritance issues
    public void setCustomName(String name) {

         super.setCustomName(name);

         // do whatever else
    }
}

并实例化您的类。

查看了您从GitHub提供的文件

LivingEntity是一个接口,因此您必须将其实现到另一个类中,因为不允许定义它的方法


只要遵循艾默生的超控方法,因为它是正确的。将自定义代码放在对super.setCustomName(name);;的调用下

查看了您从GitHub提供的文件

LivingEntity是一个接口,因此您必须将其实现到另一个类中,因为不允许定义它的方法


只要遵循艾默生的超控方法,因为它是正确的。将自定义代码放在对super.setCustomName(name);;的调用下

查看了您从GitHub提供的文件

LivingEntity是一个接口,因此您必须将其实现到另一个类中,因为不允许定义它的方法


只要遵循艾默生的超控方法,因为它是正确的。将自定义代码放在对super.setCustomName(name);;的调用下

查看了您从GitHub提供的文件

LivingEntity是一个接口,因此您必须将其实现到另一个类中,因为不允许定义它的方法


只要遵循艾默生的超控方法,因为它是正确的。将自定义代码放在对super.setCustomName(name);;的调用下

接口
不能有“主体”-它是一个接口,用于将某些内容抽象为更“通用”的对象。您需要创建一个
,它
实现
s您的
接口
,然后该类需要实现方法的主体。最后:当查看文件的签名时,您可以在名称之前看到
接口
,或者
-这将告诉您它是接口还是类…@Darwind所以我正在寻找类似于公共类PetguardLivingenetity Extendes CraftLivingenetity的东西实现Livingenetity?是的,这肯定是一个解决方案,然后实现(实际上是
覆盖
)CraftLivingEntity的
setCustomName
方法创建您自己的方法实现。编辑:非常像@Emerson Farrugia的答案:-)当
覆盖
来自“超级类”的方法时它只会在扩展“超级类”的
类上生效,因此是的,这只会在
PetGuardLivingEntity
class:-)编辑:除非您创建另一个扩展
PetGuardLivingEntity
类的类。。。但这是另一个故事;)此外,我还建议阅读本书以了解更多有关Java的知识:-)接口不能有“主体”-它是一个接口,用于将某些内容抽象为更“通用”的对象。您需要创建一个
,它
实现
s您的
接口
,然后该类需要实现方法的主体。最后:当查看文件的签名时,您可以在名称之前看到
接口
,或者
-这将告诉您它是接口还是类…@Darwind所以我正在寻找类似于公共类PetguardLivingenetity Extendes CraftLivingenetity的东西实现Livingenetity?是的,这肯定是一个解决方案,然后实现(实际上是
覆盖
)CraftLivingEntity的
setCustomName
方法创建您自己的方法实现。编辑:非常像@Emerson Farrugia的答案:-)当
覆盖
来自“超级类”的方法时它只会在扩展“超级类”的
类上生效,因此是的,这只会在
PetGuardLivingEntity
class:-)编辑:除非您创建另一个扩展
PetGuardLivingEntity
类的类。。。但这是另一个故事;)我也建议通过阅读来学习