With abstract methods, we can call the method in the base class, without knowing which kind of derived object we have; the Java inheritance mechanism handles the actual method selection.