Class |
Interface |
The keyword used to create a class is "class". |
The keyword used to create a interface is "interface". |
A class can be instantiated i.e, objects of a class can be created. |
An Interface cannot be instantiated i.e, objects cannot be created. |
Classes does not support multiple inheritance. |
Interface supports multiple inheritance. |
It can be inherit another class. |
It cannot inherit a class. |
It can be inherited by another class using the keyword ‘extends’. |
It can be inherited by a class by using the keyword ‘implements’ and it can be inherited by an interface using the keyword ‘extends’. |
It cannot contain abstract methods. |
It contains abstract methods only. |
Variables in a class can be static, final or neither. |
All variables are static and final. |
It can contain constructors. |
It cannot contain constructors. |
Variables and methods in a class can be declared using any access specifier(public, private, default, protected) |
All variables and methods in a interface are declared as public. |