Sunday, May 19, 2019

Difference between Abstract Class and Interface in Java


Difference between Abstract Class and Interface in Java

1.    Type of methods: Interface can have only abstract methods. Abstract class can have abstract and non-abstract methods. From Java 8, it can have default and static methods also.
2.    Final Variables: Variables declared in a Java interface are by default final. An abstract class may contain non-final variables.
3.    Type of variables: Abstract class can have final, non-final, static and non-static variables. Interface has only static and final variables.
4.    Implementation: Abstract class can provide the implementation of interface. Interface can’t provide the implementation of abstract class.
5.    Inheritance vs Abstraction: A Java interface can be implemented using keyword “implements” and abstract class can be extended using keyword “extends”.
6.    Multiple implementation: An interface can extend another Java interface only, an abstract class can extend another Java class and implement multiple Java interfaces.
7.    Accessibility of Data Members: Members of a Java interface are public by default. A Java abstract class can have class members like private, protected, etc.


No comments:

Post a Comment

Which Python course is best for beginners?

Level Up Your Python Prowess: Newbie Ninjas: Don't fret, little grasshoppers! Courses like "Learn Python 3" on Codecade...