What is the difference between interface and abstract class?

By: Karthik Printer Friendly Format    

  • interface contains methods that must be abstract; abstract class may contain concrete methods.
  • interface contains variables that must be static and final; abstract class may contain non-final and final variables.
  • members in an interface are public by default, abstract class may contain non-public members.
  • interface is used to "implements"; whereas abstract class is used to "extends".
  • interface can be used to achieve multiple inheritance; abstract class can be used as a single inheritance.
  • interface can "extends" another interface, abstract class can "extends" another class and "implements" multiple interfaces.
  • interface is absolutely abstract; abstract class can be invoked if a main() exists.
  • interface is more flexible than abstract class because one class can only "extends" one super class, but "implements" multiple interfaces.
  • If given a choice, use interface instead of abstract class.




Most Viewed Articles (in Interview )

What do you understand by a J2EE module?

What are the call back methods in Session bean?

What is similarities/difference between an Abstract class and Interface?

Explain the new Features of JDBC 2.0 Core API?

Interview Question: Is Struts compatible with other Java technologies?

Interview Question: Who wrote Struts?

Interview Question: Do you have to credit Struts on your own website?

Interview Question: Where can I get a copy of Struts?

Interview Question: How do I install Struts?

Interview Question: Does Struts include its own unit tests?

Interview Question: Where can I get help with Struts?

Interview Question: Why aren't the Struts tags maintained as part of the Jakarta Taglibs project ?

Interview Question: What is ActionServlet?

Interview Question: If the framework doesn't do what I want, can I request that a feature be added?

Interview Question: What about JSTL and JavaServer Faces ?

Latest Articles (in Interview)

Comment on this tutorial