Difference between Abstract Class and Interface :

Oct 19, 2011
Interface Abstract class
Interface is nothing but contract of the system which can be implemented on accounts. Abstract class is special kind of class that can not be instantiated but can be inherited.
Interface is purely abstract in nature. Abstract is not purely abstract in nature.
Class can inherit multiple interface. Class can inherit only one abstract class.
In interface all methods are without implementation In abstract class some methods are without implementation
Members of interface does not have any access modifier. Members of abstract does have an access modifier
An interface can not contain fields, constructor, destructor. An interface can contain fields, Constructor, destructor.
A class implementing an interface has to implement all the methods of the interface A class implementing an abstract class does not need to implement all the methods of the abstract class
If we add new method to interface then we have to implement that method everywhere where we have implemented interface If we add new method to abstract then we don't have to implement that method everywhere where we have implemented abstract