- Interface : I contains all the methods with empty implementation.
- The variables in interfaces are final and static.
- In java multiple inheritance is achieved by using the interface (by implementing more than one interface at a time)
- If we add a method to an interface then we will have to implement this interface by any class..
- Abstract Class :
- I must have at least one method with empty implementation.
- Abstract classes may contain both instance as well as static variables.
- Abstract classes does not provide Multiple Inheritance functionality.
- In Abstract classes we can add a method with default implementation and then we can use it by extending the abstract class.