What is an interface class?
A collection of method declarations and constant values
An abstract base class
A way to get multiple inheritance
A way to inherit variables and method implementations