Home > Software > Java > Core-Java
Interview Questions   Tutorials   Discussions   Programs   

Core-Java - What is the difference between abstract class and Interface? Where we can use it in real time projects?




270
views
asked marvit September 16, 2014 10:43 PM  

What is the difference between abstract class and Interface? Where we can use it in real time projects?


           

1 Answers



 
answered By Madhumathi   0  

Main difference is methods of a Java interface are implicitly abstract and cannot have implementations. A Java abstract class can have instance methods that implements a default behavior.

Variables declared in a Java interface is by default final. An abstract class may contain non-final variables.

Java interface should be implemented using keyword “implements”; A Java abstract class should be extended using keyword “extends”.

An interface can extend another Java interface only, an abstract class can extend another Java class and implement multiple Java interfaces.

A Java class can implement multiple interfaces but it can extend only one abstract class.

Interface is absolutely abstract and cannot be instantiated; A Java abstract class also cannot be instantiated, but can be invoked if a main() exists.

In comparison with java abstract classes, java interfaces are slow as it requires extra indirection.

flag   
   add comment

Your answer

Join with account you already have

FF

Preview


Ready to start your tutorial with us? That's great! Send us an email and we will get back to you as soon as possible!

Alert