Интерфейсы и классы существуют исключительно для того, чтобы помочь компиляторам находить возможные ошибки.Если вы хотите создать этот интерфейс во время выполнения, у вас нет компилятора, так как он не найдет ошибок, так зачем вам этот интерфейс?
В такой ситуации просто опубликуйте реализацию какого-то универсального интерфейса, который может выглядеть следующим образом: interface GenericInterface {Object invokeMethod (String name, Object ... arguments);} Это единственный интерфейс, который вам нужен, и вы можете создать его во время компиляции!Только его реализации вам может понадобиться создать во время выполнения, например, с помощью java.lang.reflect.Proxy