如何在Java中检查接口是否扩展了另一个接口?我试过这个:
for (Class<?> aClass : classes) {
int modifier = aClass.getModifiers();
if (Modifier.isInterface(modifier)) {
if (aClass.getSuperclass() != null && aClass.getSuperclass().equals(TopWorker.class)) {
log.info(aClass.getSimpleName() + " extends abstract " + TopWorker.class.getSimpleName());
}
}
}
检查超类是否不工作(接口不是类)谢谢
一个接口可以扩展多个接口(就像类可以实现多个接口一样)。因此,检查哪些接口被扩展只需调用aClass即可。getInterfaces()
。
对于您的用例,只需从调用isAssignableFrom可能更简单:
if (TopWorker.class.isAssignableFrom(aClass)) {
}
或者特别是:两者之间的区别是什么 和 它会以任何方式影响实现类吗?
本文向大家介绍接口可以在Java中扩展多个接口吗?,包括了接口可以在Java中扩展多个接口吗?的使用技巧和注意事项,需要的朋友参考一下 是的,我们可以做到。一个接口可以扩展Java中的多个接口。 例: 输出:
为什么它这样做,它有一个更好的做法?在sub接口中实现方法有什么区别吗?
问题内容: 我一直在研究J2EE的JMS API,发现了一个奇怪的行为,其中在接口(例如Session中的createQueue)中声明的某些方法在诸如QueueSession之类的子接口中再次声明,并且具有相同的文档。 因为子接口“继承”了它继承的接口的所有方法声明,并且由于JavaDoc工具没有问题,所以可以对子接口的JavaDoc进行排序并创建“继承的操作”列表,因此我无法弄清楚这将实现什么
问题内容: 在Java中,当接口扩展另一个接口时: 为什么要实现其方法? 当接口不能包含方法主体时,如何实现其方法 当扩展另一个接口而不实现它时,如何实现这些方法? 接口实现另一个接口的目的是什么? 这是Java的主要概念! 编辑: 在eclipse中,除了中的实现方法之外,还有实现符号。 当我将鼠标悬停在它上面时,它表示它实现了该方法!!! 问题答案: 为什么要实现其方法?当接口不能包含方法主体
问题内容: 我正在搜索一个给定值的切片: 在普通情况下,类型为。但是,例如,如果类型是一些自定义的,该怎么办? 问题答案: 感谢@CodingPickle评论,我提供了Go编程语言规范中的以下内容 等号运算符==和!=适用于可比较的操作数。 关于s和: 接口值是可比较的。如果两个接口值具有相同的动态类型和相等的动态值,或者两个接口值都为nil,则它们相等。 当类型X的值可比较并且X实现T时,非接口