[英]Extending a method on an interface
这可能是基本的Java,但是我是该语言的新手,请原谅我
我想延长SetCustomName的方法LivingEntity ,这样,除了它是正常的步骤,它也将引发自定义事件/异常。
我尝试执行此操作会导致有关抽象的错误,并且不能具有主体。
另外,我无法确定这是类还是接口,这意味着我不确定是否应该使用扩展或实现。
最后,我希望添加此功能,而不是创建一个新对象。
您能否告诉我是否可行/将我引导到正确的方向? 非常感谢你的帮助。
查看了您从GitHub提供的文件。
LivingEntity是一个接口,因此您必须将其实现到另一个类中,因为不允许定义其方法。
正确地遵循艾默生的重写方法即可。 将您的自定义代码放在对super.setCustomName(name);的调用下。
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
}
}
并实例化您的课程。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.