What are the difference between abstract class and interface.

  1. Abstract class is like a normal class with some extra feature like inside the abstract class we can write abstract method as well as concreate method. Interface is also same like class but must contain only abstract method it does not contain any concreate method.

  2. Abstract class provides as partial abstraction while interface provides as 100% abstraction.

  3. Abstract class can contain contractor but interface does not contain constructor.

  4. Multiple inheritance is not possible through abstract class but it can be possible through interface.

  5. Abstract class can can instance variable but Interface does not have any instance variable all the variable inside the interface is by default public static and final.

  6. Object creation is not possible for Abstract class as well as interface.

  7. An abstract class can have state of and object but Interface does not have state of an object.

  8. Abstract class can have instance and static block but an interface does not have type of block.

  9. Abstract class can not refer to the lambda expression but in interface we can refer lambda expression by using function interface.