| Abstract | Interface | 
|---|---|
| An abstract class can have abstract and non-abstract methods | The interface can have only abstract methods. | 
| An abstract class can have static, non-static, final, non-final variables. | The interface has only static and final variables. | 
| An abstract class can provide the implementation of the interface. | Interface can’t provide the implementation of an abstract class. | 
| An abstract class can be extended using the keyword "extends". | An interface can be implemented using the keyword "implements". | 
| A Java abstract class can have class members like private, protected, etc. | Members of a Java interface are public by default. | 
