Note that the array allPiles is declared as an array of
CardPile, but holds values from child classes
When paint is called, the method display invoked
will be the appropriate one for each type of pile, not the method
in CardPile.
Similarly, in mouseDown, different piles will use
different implementations of includes and select
Because these methods are static, they can be accessed using
only the class name (we saw this earlier). There actually is no
instance of Game, only the one class object.