gpt4 book ai didi

java - 检查类 "respects"接口(interface)是否没有实现

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:16:42 26 4
gpt4 key购买 nike

我想检查一个类是否实现了特定接口(interface)的所有方法而不直接实现它。

即考虑界面

public interface MyInterface {
public String myMethod();
}

和以下类:

A实现了接口(interface),myMethod方法也是如此

public class A implements MyInterface {
public String myMethod() {
return "something";
}
}

B 没有实现接口(interface),但是有方法 myMethod

public class B {
public String myMethod() {
return "something else";
}
}

所以 MyInterface.class.isAssignableFrom(A.class);trueMyInterface.class.isAssignableFrom(B.class);false。我正在为两个类寻找一个返回 true 的方法。

使用反射,对于每个类,我可以遍历接口(interface)的方法并检查它是否在类中实现。有没有更聪明的方法来做到这一点?

最佳答案

不,你不能不反射(reflection)就这样做。

还有……

接口(interface)是契约

虽然您可能会发现 B 确实具有与 MyInterface 中的方法同名的方法,但您无法判断它们是否确实做同样的事情.

通过实现一个接口(interface)(正如 B 应该拥有的那样),您不仅实现了该接口(interface)的方法,而且您 promise 以预期的方式提供结果。在这种情况下,使用具有相同参数的同名方法是行不通的。

关于java - 检查类 "respects"接口(interface)是否没有实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34354835/

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