Abstract Class:
1. Can have implementation and only signature of methods.
2. Allow access modifier e.g. Private, Protected, Public.
3. Does not force to inherited class to implement all the methods of abstract class.
4. Can have variables also.
Interface :
1. Has only method signature.
2. All the methods inside interface are Public by default, does not allow private methods.
3. If a class implement an interface then interface force to class to implement it's all methods.
4. Does not allow variable inside it.
5. class can implement more then one interface.