В javadoc для Class::getDeclaredConstructor (http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html#getDeclaredConstructor-java.lang.Class...-):
Возвращает объект Constructor, который отражает указанный конструктор класса или интерфейса, представленного этим объектом класса. [акцент мой]
Поскольку вы не можете объявить конструктор для интерфейса, что означало бы вернуть "указанный конструктор" интерфейса?
Я попробовал его на Runnable.class и получил NoSuchMethodException. Есть ли случай, когда getDeclaredConstructor будет работать на интерфейсе? Или этот язык в javadoc просто ошибка? Или это означает нечто иное, чем то, как я его интерпретирую?