1.In Abstract class some methods can be Implemented But Interfaces cannot implement any methods.
2.A class extending an abstract class may or may not implement all of the methods defined in the abstract class but a Class Implementing an interface must implement all of the methods of the interface.
3.Abstract class does not have Multiple Inheritance . Interfaces can be used to supports Multiple Inheriatance.
4.Abstract class can have private and protected members but in Interface all member functions are public by default.
Similarity Between Abstract Class and Interfaces:
Both Abstract classes and Interfaces can't be instantiated.