interface-Abstract
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.
- 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.
No comments:
Post a Comment