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 are the different access modifiers available in java?
Explain the difference between scrollbar and scrollpane?
When do we use synchronized blocks and advantages of using synchronized blocks?
Explain when we should make an instance variable private.
What are mutable classes?
Is it possible to write a regular expression to check if string is a number?
What are encapsulation, inheritance and polymorphism?
Is a class an object?
What is the java reflection api? Why it’s so important to have?
What are white spaces in java?
What is difference between class and object in java?
What is mean by encoding?