Arrays and ArrayLists are polymorphic
We already know that we can put objects into arrays and ArrayList
instances. But being polymorphic means they can handle objects of multiple distinct types as long as they have a common parent type all within the same array or ArrayList
.
In Chapter 8, Object-Oriented Programming, we learned that polymorphism approximately means different forms. But what does it mean to us in the context of arrays and ArrayList
?
Boiled down to its simplest: any subclass can be used as part of the code that uses the superclass.
For example, if we have an array of Animals
, we could put any object of a type that is a subclass of Animal
, in the Animal
array. Perhaps Cats
and Dogs
.
This means we can write code that is simpler and easier to understand, modify, and change:
// This code assumes we have an Animal class // And we have a Cat and Dog class that extends Animal Animal myAnimal = new Animal(); Dog myDog = new Dog(); Cat myCat = new...