What is similarities/difference between an Abstract class and Interface?
By: Karthik 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.
Comment on this tutorial
- Data Science
- Android
- AJAX
- ASP.net
- C
- C++
- C#
- Cocoa
- Cloud Computing
- HTML5
- Java
- Javascript
- JSF
- JSP
- J2ME
- Java Beans
- EJB
- JDBC
- Linux
- Mac OS X
- iPhone
- MySQL
- Office 365
- Perl
- PHP
- Python
- Ruby
- VB.net
- Hibernate
- Struts
- SAP
- Trends
- Tech Reviews
- WebServices
- XML
- Certification
- Interview
categories
Subscribe to Tutorials
Related Tutorials
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 J2EE Connector architecture?
What is difference between Java Bean and Enterprise Java Bean?