Возможно ли в java унаследовать generic класс, другим generic классом? Возможно ли унаследовать generic класс, другим generic классом, так чтобы класс наследник мог принимать в качестве параметра только наследников определенного класса?
Внизу указана суть вопроса.class class1 {
...
}
class class2 extends class1 {
...
}

21 Авг 2019 в 07:03
189 +1
1
Ответы
1

Да, возможно в Java унаследовать generic класс другим generic классом.
Также возможно унаследовать generic класс другим generic классом таким образом, чтобы класс наследник мог принимать в качестве параметра только наследников определенного класса, как показано в вашем примере.

В приведенном коде класс class2 наследует generic класс class1, при этом ограничивая тип параметра T с помощью ключевого слова extends SomeType. Таким образом, класс class2 может принимать в качестве параметра только те типы, которые являются наследниками класса SomeType.

Пример использования ограничения наследования generic класса:

class SomeType {
...
}
class AnotherType extends SomeType {
...
}
class class1<T> {
...
}
class class2<T extends SomeType> extends class1<T> {
...
}
class MyClass {
public static void main(String[] args) {
class2<SomeType> obj1 = new class2<>(); // Такой код сработает
class2<AnotherType> obj2 = new class2<>(); // Такой код сработает
//class2<Integer> obj3 = new class2<>(); // Такой код не сработает, так как Integer не является наследником SomeType
}
}
20 Апр 2024 в 13:08
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир