Difference between abstract class and interface
Answer Posted / s.arun
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.
Members of a Java interface are public by default. A Java abstract class can have the usual flavors of class members like private, protected, etc..
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.
For m ore detail click on http://edugoing.com/qna/index.php?qa=1&qa_1=what-the-difference-between-an-interface-and-abstract-class
| Is This Answer Correct ? | 1 Yes | 1 No |
Post New Answer View All Answers
Explain how cache is used? : Dot net architecture
Differences between VS 2005, 2008 and 2010 ?
Explain different pipelining hazards? : Dot net architecture
Explain the difference between l1 and l2 cache? : .NET Architecture
Difference between type constructor and instance constructor?
Can you Explain
What is the use of TPL DATAFLOW?
what is tracing? Where it used?
any one can explain about projectarchitecture and project approach briefly
what is the difference between running an application with and without debugger?
Explain .net mobile input controls? : Microsoft dot net mobile
What is Opf3
Waht is Dot net Arcitecture
Whate are resource files? How are they used in .net?
Describe the advantages of writing a managed code application instead of unmanaged one. What is involved in certain piece of code being managed?