У меня есть код Java, похожий на:
public class Thing {
private IPolicy policy;
public Thing(IPolicy policy) {
this.policy = policy;
}
public void doSomething() {
this.policy.execute();
}
}
Мой вопрос: возможно ли сделать это с помощью дженериков, а не передавать политику конструктору? Я думаю, это означает, что я хочу, чтобы это закончилось как
public class Thing<T extends IPolicy>
но я не настолько хорош в генериках.
Мои мотивы: 1) для меня было бы более логично, если бы моя программа была частью типа и не была связана с конструктором (у которого есть другие более важные вещи), и 2) я пытаясь выучить дженерики.