Ask a Question
Advertise on boostr.in
Difference Between Interface and Abstract Class in core java
Main difference is methods of a Java interface are implicitly abstract and cannot have implementations. A Java abstract class can haveÂ instance methods that implements a default behavior.
Variables declared in a Java interfaceÂ is by defaultÂ final. AnÂ abstract class may contain non-finalÂ variables.
Members of a Java interface are public by default. A Java abstract class can have the usual flavors of class members like private, protected, etc..
Java interface should be implemented using keyword â€śimplementsâ€ť; A Java abstract class should be extended using keyword â€śextendsâ€ť.
An interface can extend another Java interface only, an abstract class can extend another Java class and implement multiple Java interfaces.
A Java class can implement multiple interfaces but it can extend only one abstract class.
Interface is absolutely abstract and cannot be instantiated; A Java abstract class also cannot be instantiated, but can be invoked if a main() exists.
In comparison with java abstract classes, java interfaces are slow as it requires extra indirection.
Apr 22, 2015
to add a comment.
Your name to display (optional):
Email me at this address if my answer is selected or commented on:
Email me if my answer is selected or commented on
Privacy: Your email address will only be used for sending these notifications.
To avoid this verification in future, please