require that subclasses (that are not
also abstract) provide implementations for those methods.
<p>
Use an abstract class when your parent class knows that all of its subclasses
will implement a certain method but each subclass will implement it
differently. In other words, there is no default implementation that
will satisfy any of the subclasses. For example, in a drawing application
Rectangle, Triangle and other GraphicObject classes all implement the
<code>draw()</code> method, but implement it differen