What is the difference between interface and abstract class?

By: Karthik Emailed: 1598 times Printed: 2046 times    

Latest comments
By: rohit kumar - how this program is work
By: Kirti - Hi..thx for the hadoop in
By: Spijker - I have altered the code a
By: ali mohammed - why we use the java in ne
By: ali mohammed - why we use the java in ne
By: mizhelle - when I exported the data
By: raul - no output as well, i'm ge
By: Rajesh - thanx very much...
By: Suindu De - Suppose we are executing

  • 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.

Interview Home | All Interview Tutorials | Latest Interview Tutorials

Sponsored Links

If this tutorial doesn't answer your question, or you have a specific question, just ask an expert here. Post your question to get a direct answer.



Bookmark and Share

Comments(1)


1. View Comment

What is the difference between an Interface and an Abstract Class?
A. 1.An abstract class can have instance methods that implement a default behavior
B. 2. An Interface can only declare constants and Interface methods, but cannot implement default behavior and and all methods are implicitly abstract...
C. 1. An abstract class is a class which may have the use all flavors of class members (private, of protected, et) but has some abstract methods.
2. An Interface has all public members and no implementation.
C. both A and B
D. none of these


View Tutorial          By: RAJA at 2015-06-26 17:28:31

Your name (required):


Your email(required, will not be shown to the public):


Your sites URL (optional):


Your comments:



More Tutorials by Karthik
What is the difference between interface and abstract class?
What are the life-cycle methods of JSP?
What is JSP Scriptlet?
What is JSP declaration?
What types of comments are available in the JSP?
What is expression in JSP?
What is JSP Output Comments?
What are all the different scope values for the tag?
What are implicit Objects available to the JSP Page?
What is the difference between jsp:forward and response.sendRedirect(url),?.
What is the difference between jsp:include page and @ include file?
What do you understand by JSP Actions?
What are Access Specifiers available in Java?
Explain the different forms of Polymorphism.
Explain the Polymorphism principle.

More Tutorials in Interview
What is J2EE?
What do you understand by a J2EE module?
Tell me something about J2EE component?
What are the contents of web module?
Differentiate between .ear, .jar and .war files.
What is the difference between Session Bean and Entity Bean?
Why J2EE is suitable for the development distributed multi-tiered enterprise applications?
What do you understand by a container?
What are the services provided by a container?
What are types of J2EE clients?
What is Deployment Descriptor?
What do you understand by JTA and JTS?
What is JAXP?
What is J2EE Connector architecture?
What is difference between Java Bean and Enterprise Java Bean?

More Latest News
Most Viewed Articles (in Interview )
Is Iterator a Class or Interface? What is its use?
How to define an Abstract class?
How to define an Interface?
Explain the user defined Exceptions?
Explain the new Features of JDBC 2.0 Core API?
Explain garbage collection?
Explain the Polymorphism principle.
What are Access Specifiers available in Java?
What do you understand by JSP Actions?
What is the difference between interface and abstract class?
Interview Question: What is Struts?
Interview Question: How is the MVC design pattern used in Struts framework?
Interview Question: Who makes the Struts?
Interview Question: Why it is called Struts?
Interview Question: What is Action Class?
Most Emailed Articles (in Interview)
Interview Question: What is Struts?
Interview Question: What is Action Class?
Interview Question: Write code of any Action Class?
Interview Question: What is ActionForm?
Interview Question: Why do we need Struts?
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 is EJB container?
Interview Question: Is it possible to share an HttpSession between a JSP and EJB? What happens when I change a value in the HttpSession from inside an EJB?
Question: How would you go about analyzing performance of an application?
What do you understand by a J2EE module?
Interview Question: How is the MVC design pattern used in Struts framework?
Interview Question: Why it is called Struts?
Interview Question: How does Struts work?
Interview Question: Who wrote Struts?