gpt4 book ai didi

java - 接口(interface)实现困惑?

转载 作者:行者123 更新时间:2023-11-30 09:46:26 25 4
gpt4 key购买 nike

我看到一段代码,其中有两个接口(interface)具有一些方法,其中两个方法具有相同的名称。然后有一个实现这些接口(interface)的类,我认为由于方法名称的歧义,它不应该被编译。为什么它工作正常。

最佳答案

可能出现此问题的每种语言都会以不同的方式解决问题。在某些语言中,这可能是一个错误; C++就是这样。但在 Java 中,只要这两种方法具有兼容的异常规范——即,只要实际上可以实现满足这两种接口(interface)的方法——那么它就是语言规范明确允许的。一个方法满足各个接口(interface),一切正常。问方法属于哪个接口(interface)是没有意义的;它既属于两者,又不属于任何一个。

请注意,您可以拥有一个带有方法 x() 的类,然后使用一个子类扩展该类,该子类声明自身以实现包含方法 x() 的某个接口(interface); child 使用继承的方法自动满足接口(interface),该方法本身是在不了解接口(interface)的情况下声明的。如您所见,Java 接口(interface)是纯粹声明性的;他们不关心方法来自哪里,只关心有问题的类包含它们。

我不能代表 PHP,但也许它只是一样,但我确信它在一些小细节上有所不同。

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

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