Difference between Primitive and Reference types.
A superclass should be replaceable with objects of its subclasses without affecting the correctness ...Read more