Interface
Features
- Multiple inheritance
 - Does not provide any code
 - static final constants
 - A class implements an Interface
 - Usually describe peripheral abilities of a class
 
Example
An Automobile class can implement an Automatic interface.
When To Use
Usually when something in the design will change frequently, such as a file format.
Abstract Class
Features
- Single inheritance
 - complete, default, or stubs of code to be overwritten
 - instance and static constants
 - A class extends an Abstract Class
 - Defines the core identity of it's descendants
 
Example
A SportsCar class can extend an Automobile abstract class.
When To Use
For planned inheritance hierarchies such as a framework or when subclasses need to provide specific behaviors.
 A Place to Store My Cache            
Comments
comments powered by Disqus