要查询一个Java实现类实现了哪个接口,可以使用反射机制。具体步骤如下:
-
获取该类的Class对象;
-
调用Class对象的getInterfaces()方法,返回该类实现的所有接口的Class数组;
-
遍历Class数组,输出每个接口的名称。
public class Test {
public static void main(String[] args) {
// 获取MyClass类的Class对象
Class<?> clazz = MyClass.class;
// 获取MyClass类实现的所有接口的Class数组
Class<?>[] interfaces = clazz.getInterfaces();
// 遍历Class数组,输出每个接口的名称
for (Class<?> i : interfaces) {
System.out.println(i.getName());
}
}
}
interface MyInterface1 {
}
interface MyInterface2 {
}
class MyClass implements MyInterface1, MyInterface2 {
}