Я хочу создать родительский / абстрактный класс, который заставляет дочерние классы объявлять переменные.
например.
У меня есть 2 абстрактных класса
public abstract class Key { <something> }
public abstract class Value { <something> }
Теперь создаем ребенка для свыше.
public class ChildKey extends Key { <something> }
public class ChildValue extends Value { <something> }
Я хочу создать класс Result, который может выглядеть как
public abstract class Result {
protected <T extends Key> key;
protected <T extends Value> value;
}
чтобы я мог создать потомок Результата как
public class ChildResult extends Result {
public ChildKey key; // this should be forcible
public ChildValue value; // Same as above
<some method>
}
Я пробовал несколько вещей, но это не сработало.
Есть мысли, как мне этого добиться?