Отражение и интерфейсы - PullRequest
       4

Отражение и интерфейсы

0 голосов
/ 05 октября 2011

У меня есть класс, который косвенно реализует интерфейс (его реализует суперкласс или супер-классный класс), и я хочу знать, реализует ли интерфейс интерфейс или нет.

В терминах кодирования:

      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 ]

2 голосов
/ 05 октября 2011

В классе Class есть специальный метод isAssignableFrom, который делает то, что вы хотите. В вашем случае это должно вернуть true:

 MyName.class.isAssignableFrom(My.class);
0 голосов
/ 05 октября 2011

Вы также можете использовать instanceof, чтобы проверить, реализует ли (экземпляр класса) интерфейс или нет.

Редактировать:

interface X { }

class A implements X { }

System.out.println(new A() instanceof X);  // <---- prints true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...