Here it is, a week later, and I feel obligated to close the loop on this topic now that I've discovered the solution to my original question following additional study.
The answer I was looking for is...
The proper coding technique to avoid the compile error described in my initial posting of this
thread is ...
1. First test an object variable to see what type of object it is referring to by using the "instanceof" operator.
2. Once the object type is determined, then you can call a method of that object type by casting the object variable to that object type.
With this process, the compile error is avoided and polymorphism is properly executed. And you don't have to override methods from superclasses in which the methods make no sense (such as declaring a setHeight method in a class Circle then overriding it in class Cylinder).
