У меня есть заводской метод, который создает объекты, которые будут использоваться в модульных тестах. Эти объекты все вытекают из того же базового класса:В Java я могу создать экземпляр анонимного подкласса объекта класса?
public static <T extends BaseEntity> T modMake(Class<T> clazz)
{
try {
return clazz.newInstance();
} catch (InstantiationException e) {
// Should never happen
throw new AssertionError(e);
} catch (IllegalAccessException e) {
// Should never happen
throw new AssertionError(e);
}
}
Теперь я хочу, чтобы переопределить метод получения из этого базового класса, но только для испытаний. Я обычно делаю это с анонимным классом, например (Node
является одним из subtaypes из BaseEntity
):
public static Node nodMake()
{
return new Node() {
@Override
public long ixGet() { return 1; }
};
}
Могу ли я сделать это в функции, используя Class
аргумент тоже?
Интересно. Я еще не использовал Java, как это. –
Теперь я использую EasyMock, и это потрясает. Благодаря! –