An abstract class can have default method implementation.
Interfaces provide pure abstraction & can not have implementation at all.
It may contain non-final variables.
Variables declared in an interface are by default final.
An abstract class can be extended using the keyword “extends.
The interface should be implemented using the keyword “ïmplements”
Can have public, protected, private and default modifier.
Interface methods are by default public. you can not use any other access modifier with it.
It can extend only one abstract class
Can implement multiple interfaces
An abstract class can have constructors
An interface can not have constructors
An abstract class can extend another class and can implement multiple Java interfaces
The interface can extend another Java interface only