簡體   English   中英

在接口上擴展方法

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM