How does Java generics support polymorphism?
By enabling classes to be parameterized with multiple types
By using wildcard characters to specify method parameters
By allowing methods to operate on objects of various types while providing compile-time type safety
By allowing the creation of classes that can work with any data type