当前位置: 首页 > 知识库问答 >
问题:

检查接口是否正在使用反射[duplicate]扩展Java中的另一个接口

南门欣怡
2023-03-14

如何在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());
                }
            }
        }

检查超类是否不工作(接口不是类)谢谢

共有1个答案

裘安阳
2023-03-14

一个接口可以扩展多个接口(就像类可以实现多个接口一样)。因此,检查哪些接口被扩展只需调用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时,非接口