Advance Java coaching, angular JS, Basic computer course, basic knowledge of networking, BCA coaching class, c coaching in bopal, c++ language, Civil Engineering Coaching at TCCI, Civil Engineering course, Compiler Design at TCCI, computer class in satellite-ahmedabad, computer coaching in Ahmedabad, computer engineering coaching in Ahmedabad, computer training to IT Engineering, corporate traning by TTCI, Degree-Diploma-Engineering at TCCI, EC Engineering coaching in Bopal-Ahmedabad, Electrical Engineering Coaching, Engineering Courses, Java Course, learn Programming Languages at TCCI, Maths coaching to engineering student, MATHS TO SCHOOL STUDENT, Mechanical engineering course, Microsoft Excel, Microsoft Office, Online coaching for Java, online computer coaching, PHP coaching, Power Point, Python, Python language, School Computer Course, TCCI computer coaching, training, Uncategorized

What is Difference between abstract class and interface?


An abstract class is a class that is declared abstract – it may or may not contain abstract
methods. The keyword “abstract” is used to create an abstract class just before the class keyword in the class declaration.

In simple terms, an interface is a collection of abstract methods that is used to specify a behaviour that the class has to implement.


Difference between Abstract Class and Interface in Java


  • Implementation for Java abstract class cannot be provided by interface but an abstract class can provide an implementation for the interface in Java.
  • “Method Type” of Abstract Class and Interface in Java – The second major difference between the two is that while an interface can only have abstract methods, an abstract class can have both abstract and non-abstract methods. However, since Java 8, an interface can have default and static methods too.
  • “Access Modifiers” of Abstract Class and Interface in Java – An abstract class can have public, private and protected access modifiers, however methods of an interface are implicitly public and abstract. You cannot use any other access modifier with interface methods’.

Inheritance vs. Abstraction

  • An abstract class can be extended using the keyword ‘extends’ while a Java interface uses the keyword ‘implements’ to be implemented.
  • “Keyword” of Abstract Class and Interface in Java– While “abstract” keyword is used to declare an abstract class method as abstract, however, interfaces are entirely a different story; they can only have public, static final constants and method declarations.
  • “Use” of Abstract Class and Interface in Java – While an interface is ideal for type declaration, an abstract class is best suited for code reusability and evolution perspective. An interface looks like a class, but it is not a class.
  • “Reliability” of Abstract Class and Interface in Java– Another major difference between an abstract class and an interface is that the former is a bit faster than the latter because a search is usually involved in an interface before any overridden method is called in Java.

Final Java Variables

  • Abstract class in Java may or may not have variables declared as final but in Java interfaces, it is by default that they will declare final.

Type of Variable

  • Java interface can only have static and final variables while abstract class in Java can have both final and non-final as well as static and non-static variables.

For more information about Abstarct class and Interface.

Join us @ TCCI.

Call us @ 9825618292

Visit us @


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s