|Abstract class or method
|The abstract modifier can be applied to classes and methods.
|If a class contains one or more abstract methods, the compiler insists that the class must be declared abstract.
|A class that is abstract may not be instantiated
|Abstract classes provide a way to defer implementation to subclasses.
|Subclass of an abstract class must provide an implementation of the abstract method or declare itself to be abstract.
|A class must be declared abstract if it implements an interface but it does not provide implementations for every method.
|Interfaces are always abstract, but the keyword is optional in the declaration.
|Variables can't be declared abstract.
|You can have an abstract class with no abstract methods.