interface and class difference code example
Example 1: difference between abstract and interface
Interface
1) Interface contains only abstract methods
2) Access Specifiers for methods in interface
must be public
3) Variables defined must be public , static ,
final
4) Multiple Inheritance in java is implemented
using interface
5) To implement an interface we use
implements keyword
Abstract Class
1) Abstract class can contain abstract methods,
concrete methods or both
2) Except private we can have any access
specifier for methods in abstract class.
3) Except private variables can have any access
specifiers
4)We cannot achieve multiple inheritance using
abstract class.
5)To implement an interface we use implements
keyword
Example 2: difference between class and interface in java
A class can be instantiated by
creating its objects.
An interface is
never instantiated as the methods
declared inside an interface are abstract
and does not perform any action,
so there is no use of instantiating any
interface.
A class is declared using a keyword class.
In the same way, an interface is
created using a keyword interface.
The members of a class can have
access modifier like public, private, protected.
But the members of an interface
are always public as they have to be accessed
by the classes implementing them.
The methods inside a class are
defined to perform an action on the fields
declared in the class.
The methods inside an interface are purely abstract.
A class can implement any number
of interfaces but can extend only one
super class.
An interface can extend any number
of interfaces but cannot implement any
interface.
A class has constructors defined inside
it to get the variable initialized.
But, an interface does not have any
constructors as there are no fields
to be initialized. The fields of an
interface are initialized
at the time of their declaration only.
Example 3: diff between class and interface
A class describes the attributes and behaviors of an object .
An interface contains behaviors that a class implements.