Abstract Methods & Classes
•  abstract methods are not implemented (not even a default one).
• This is better than putting in a dummy procedure as a placeholder.
•  Derived classes must eventually implement them;
if they don’t then they must be abstract classes themselves.
•  Overriding is resolved at runtime.
•  Abstract class is one that contains an abstract method;
   need to be explicitly declared as such.
•  Abstract classes may have non-abstract methods & static fields.
•  Abstract classes cannot be created (no constructor),
   except using super()