|1. For declaring Abstract Class, we use abstract keyword.
Syntax: abstract class CLASS_NAME
|1. For declaring Interface, we use interface keyword.
Syntax: interface INTERFACE_NAME
|2. Abstract Class can contains abstract and non-abstract methods.||2. Interface can contains only abstract methods.|
|3. In Abstract Class, variables can have static, non-static, final and non final.||3. Interface has only static and final variables.|
|4. Abstract Class can have private, protected and public methods.||4. Interface has only public methods.|
|5. Abstract Class can contains constructor.||5. Interface doesn’t allow constructor.|
|6. If we extend Abstract Class, we can’t achieve multiple inheritance.||6. For implementing Interface, we can extend another class.|
|7. In Abstract class, we can declare instance and static blocks.||7. In Interface, we can’t declare instance and static blocks.|