gpt4 book ai didi

java - 覆盖接口(interface)?

转载 作者:行者123 更新时间:2023-11-29 04:53:21 25 4
gpt4 key购买 nike

我正在为游戏 Minecraft 创建一个模组,它有一个接口(interface)来实现游戏中的命令。我需要 mod 来实现该接口(interface),但使用不兼容的方法(不同的返回类型)重写其中一个方法。但我需要防止实现该接口(interface)的其他类无法工作或无法被游戏识别的情况。

我认为这需要使用与原始接口(interface)相同的新接口(interface)覆盖接口(interface),但使用该方法的重载版本来支持 mod 的需求。这可能吗(或者我有其他方法可以做到这一点吗?)

最佳答案

考虑接口(interface)的一种方式是将其视为契约。
实现类必须严格遵守这个契约。这意味着方法签名(包括返回值和参数)必须完全匹配。
接口(interface)的全部意义在于在不严格了解实现的情况下定义交互。

如果您希望实现的交互不同,那么您可能正在尝试以非预期的方式使用某些东西。

即使可以继承一个接口(interface),它也会很快变得困惑。创建一个新接口(interface)可能最符合您的利益(所有其他方法都相同)。由于它无法与使用接口(interface) A 的类进行比较,因此您可以通过将其完全分离来省去麻烦。

关于java - 覆盖接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34620000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com