[英]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.