Difference Between Interface and Abstract Class
- 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.
- 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.
- 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.
- 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..
- A Java class can implement multiple interfaces but it can extend only one abstract class
No comments:
Post a Comment