Difference between abstract class and Interfaces?
Answers were Sorted based on User's Feedback
Answer / nanthinikrishnan
An abstract class can have concrete method, which is not
allowed in an interface. Abstract class can have private or
protected methods and variables and only public methods and
variables are allowed in interface. We can implement more
than one interface , but we can extend only one abstract
class. Interfaces provides loose coupling where as abstract
class provides tight coupling.
| Is This Answer Correct ? | 7 Yes | 0 No |
Answer / ranganathkini
An Interfaces defines a public contract of methods for the
classes that implement it. An implementing class must
implement all the method defined by the interface.
An abstract class on the other hand not only defines a
public contract of methods but may also provide partial
implementation of some or all of the class methods. A
subclass of an abstract class inherits the partial
implementation (if any) or must provide a concrete
implementation of the abstract methods.
| Is This Answer Correct ? | 4 Yes | 0 No |
Answer / taresh nama
• Interfaces provide a form of multiple inheritances.
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.
| Is This Answer Correct ? | 2 Yes | 0 No |
Answer / loganathan s
abstract is a class and its fulfilling while the subclass
is extends the abstract class methods.
where as interface also a class it declare a methods.we
must override all the methods at implements the interface.
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / ravikiran
abstract class is the one which canhave both abstract as
well as non abstract methods
Interface is the one which has all the methods are abstract
| Is This Answer Correct ? | 2 Yes | 1 No |
Answer / mari
multiple inheritence is applicable for interfaces but at
abstract class can't support multiple inheritence it can
have only multilevel inheritence
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / hema
Abstract Class is the Class where it can have Methods with
both Definition and Declaration.
Method Declaration: public void Display();
Method Definition: public void Add(){ ..code goes on here...}
When all the methods in a class are only Declared then it is
Interface.
| Is This Answer Correct ? | 0 Yes | 0 No |
Is it possible to write method inside method
What is thread life cycle?
How do you remove all elements from an arraylist in java?
What are invisible components?.
Does java allow overriding static methods ?
Which characters are allowed to use as the second character of an identifier, and which characters are not allowed?
What is purpose of applet programming?
What is tree node in java?
Explain about class in java?
Explain the init method?
What types of inheritance does Java support?
Difference between Web-based applications,Client- Server applications and Distributed applications?