Звучит так, как вы хотите: Динамические прокси , доступные с Java 1.3.
Редактировать: Я посмотрел на mockito чтобы увидеть, как им удалось смоделировать конкретные классы, и оказалось, что они создают байт-код, а затем загружают его загрузчиком классов.Мало того, что это не совсем то, что вы хотите, но и более сложное, чем это необходимо.
Я согласен со Стивеном С. Почему вы хотите это сделать?Я подозреваю, что может быть более легкий путь.Я подозреваю, что вам лучше подойдет шаблон Strategy или Command .В этом случае пользовательский код находится в своем собственном маленьком классе:
public class Initializer<A> {
public (abstract) void initialize(A parent);
}
final String args[] = ...;
Initializer<A> initializer = new Initializer<A>() {
public void initialize(A parent) {
parent.setMessage(args);
}
};
, который либо назначается основному классу, либо оборачивает основной класс (в зависимости от необходимости).