Возможно ли в java унаследовать generic класс, другим generic классом? Возможно ли унаследовать generic класс, другим generic классом, так чтобы класс наследник мог принимать в качестве параметра только наследников определенного класса Внизу указана суть вопроса.class class1 ..
Да, возможно в 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 не является наследником SomeTyp
Да, возможно в 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 не является наследником SomeTyp
}