No.1:
Abstract
class can extend only
one class or
one abstract class at a time
interface can extend
any number of interfaces at a time
No.2:
Abstract
class can be extended(inherited) by a
class or an abstract class
Interfaces can be extended only by interfaces.
Classes has to implement them instead of extend
No.3:
Abstract class can have
both abstract and concrete methods
Interface can
only have abstract methods, they cannot have concrete methods
No.4:
In abstract class, the keyword ‘abstract’ is
mandatory to declare a method as an abstract
In interfaces, the keyword ‘abstract’ is
optional to declare a method as an abstract
because all the methods are abstract by default
No.5:
Abstract class can have
protected and public abstract methods
Interface can have
only public abstract methods
No.6:
Abstract class can have static, final or static final variables
with any access specifier
Interface can have only public static final (constant) variable