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 |
What is a instance variable?
Java is pass by value or pass by reference? Explain
What is core java used for?
Is node a data type in java?
What is module in project?
What is the multi-catch block in java?
Define how destructors are defined in java?
What is race condition ?? (Threading concept) TCS 2 sept10
Why java is object oriented?
What java ide should I use?
What do you understand by java virtual machine?
what is an object and how do you allocate memory to it?