反思和界面

时间:2011-10-05 14:02:51

标签: java reflection

我有一个间接实现接口的类(它的超类或超级类实现可以实现),我想知道一个类是否实现了接口。

编码方面:

      import java.lang.reflect.Type;

        class My implements MyName{

        }

        public class Tset extends My implements yourName{
        public static void main(String[] args) {
            Class[] allClassAndInterfaces = Tset.class.getInterfaces();
    //but allClassAndInterfaces is not giving me the MyName Interface 
    //although it gives me YourName Interface
System.out.println(ArrayUtils.toString(lits));
        }
}

2 个答案:

答案 0 :(得分:2)

Class类中有一个名为isAssignableFrom的特定方法可以满足你的需要。在你的情况下,这应该返回true:

 MyName.class.isAssignableFrom(My.class);

答案 1 :(得分:0)

您还可以使用instanceof来检查(实例)类是否实现了接口。

编辑:

interface X { }

class A implements X { }

System.out.println(new A() instanceof X);  // <---- prints true
相关问题