What are the situations and their associated benefits of using Generics over Inheritance and vice-versa, and how should they be best combined?
Thanks for the answer
Neither inheritance nor parameterized types can change at run-time
Inheritance lets you provide default implementations for operations and lets subclasses override them.
Parameterized types let you change the types that a class can use.
But Which approach is best depends on your design and implementation constraints
Design Patterns Elements of Reusable Object-Oriented Software