Start networking and exchanging professional insights

Register now or log in to join your professional community.

Follow

What is the difference between abstract class and interface in java?

user-image
Question added by Tanmay Karmakar
Date Posted: 2013/07/28

1.abstract class is a class but interface is not.2.abstract class can have instance methods that implement a default behavior.An Interface can only declare constants and instance methods and all methods are implicitly abstract.3.abstract class allows you to provide a default implementation for some of the methods but an interface does not allow you to provide any implementations.4.abstract class is used to reuse code whereas interface is used for defining a pattern (viz.
contract).5.
interface supports multiple inheritance is used.

interface can contains only  set of abstract methods and static constants.where abstract class contains abstract method and concrete methods.

Venkat Tanneru
by Venkat Tanneru , Android Mobile Application Developer , Younify Applications Pvt ltd

java abstract class can have instance methods that can have a default behaviour andvariables declared in interface are default final

In abstract class have both abstarct and non- abstarct methods.Abstract class don't support multiple inheritance.In abstract class,class name must contain abstract key word.

In interface only have abstarct class.Interface class support multiple inheritance. In interface class,class name must contain interface keyword.

In abstract class , we can achieve zero to hundred percent abstraction, where as in interface we can achieve hundred percent abstraction,

In abstract class , class name must contain abstract key word,

where as in interface class class name must contain interface keyword.

In abstract class we have to write abstract before method to make it abstract, but in interface all the method by default abstract.

abstract is a keyword and when we use abstract with a class then it is called abstract class. if a class decleared as abstract then we can not create object of that class. An abstract class can have abstract and non abstract methods, constructor. An abstract class does not support multiple inheritance. and it may 0% to 100% incomplete.

Where interface is a contract what ideally a class got into and a class is suppose to follow that contract. All the methods in interface by default will be public and abstract (only contain abstract method) and It supports the multiple inheritance. It can contain only static and final variable. and it is 100% incomplete.

Sukhmeet Bhatia
by Sukhmeet Bhatia , Metro Railway Corporation

1. Methods of java interface are abstract and donot have implementations. Abstarct can have partial implementation and can have abstarct and non abstract methods.

2.Interface only have static and final variables . Abstarct class can have non static, non static, final, non final variables

 

BHUSHAN HARKARE
by BHUSHAN HARKARE , DEVELOPER , OMVSAB IT SOLUTION

Methods of a Java interface are implicitly abstract and cannot have implementations. A Java abstract class can have instance methods that implements a default behaviour. Variables declared in a Java interface is by default final

Mohammad Abrar Abrar
by Mohammad Abrar Abrar , Team Leader , Enkindle Technologies Pvt Ltd

abstract keyword is used to create abstract class whereas interface is the keyword for interfaces.

Abstract classes can have method implementations whereas interfaces can’t.

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

We can run abstract class if it has main() method whereas we can’t run an interface.

shafi Mohd Shafi
by shafi Mohd Shafi , Sr.Software developer , Etisalat Telecom

An interface is a contract of methods names to be used in inherited classes where as abstract classes have some methods with or without implementation.where intrafes have all methods without implementation.

Anand Ramangoudra
by Anand Ramangoudra , internship , Rousing designs

Abstract class can have abstract and non-abstract and methods.Abstract class doesn't support multiple inheritance.

Interface can have only abstract methods. Interface supports multiple inheritance.Interface has only static and final variables.

More Questions Like This

Do you need help in adding the right keywords to your CV? Let our CV writing experts help you.