Боюсь, что «форма» решения, которое вы ищете, невозможна, поскольку ткач AJ (не важно, компилируется ли он или загружается), должен знать, как «реализовать» ваши методы.
Но я думаю, что может быть решение вашего вопроса в форме делегата. По сути, вы скажете C для реализации интерфейса I с использованием IImpl и использования IImpl в качестве делегатора, что означает, что IImpl будет делегировать все вызовы методов IRuntimeImpl, которые можно настроить / изменить во время выполнения. IImpl в основном будет:
public class IImpl implements I {
private I delegate;
public void interfaceMethod() {
delegate.interfaceMethod()
}
}
Во время выполнения вы сможете перейти к IImpl независимо от того, какую реализацию вы выберете для I.
. / Alex