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

By: Karthik Viewed: 722 times  Printer Friendly Format    


Answer: Differences are as follows:

•	Interfaces provide a form of multiple inheritance. A class can extend only one other class. 
•	Interfaces are limited to public methods and constants with no implementation. Abstract classes can have a partial implementation, protected parts, static methods, etc. 
•	A Class may implement several interfaces. But in case of abstract class, a class may extend only one abstract class. 
•	Interfaces are slow as it requires extra indirection to to find corresponding method in in the actual class. Abstract classes are fast.  

Similarities:


•	Neither Abstract classes or Interface can be instantiated. 


Most Viewed Articles (in Interview )

Interview Question: What is Struts?

Interview Question: Who makes the 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: If the framework doesn't do what I want, can I request that a feature be added?

Interview Question: Do ActionForms have to be true JavaBeans?

Interview Question: What is Remote client view?

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?

What are all the different scope values for the tag?

What is expression in JSP?

What types of comments are available in the JSP?

What is JSP Scriptlet?

Interview Question: How is the MVC design pattern used in Struts framework?

Interview Question: Why it is called Struts?

Latest Articles (in Interview)

Comment on this tutorial