Bounded type parameters
Bounded type parameters restrict the types that can be used as arguments for a generic type parameter. This is achieved using the extends keyword, allowing you to specify that a type parameter must be a subtype of a particular class or interface (or the class/interface itself). Bounded type parameters enhance type safety and enable access …