Difference between abstract class and interface

Answer Posted / cheshta

1. 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.
2. 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..
3. Java interface should be implemented using keyword “implements”; A Java abstract class should be extended using keyword “extends”.
4. An interface can extend another Java interface only, an abstract class can extend another Java class and implement multiple Java interfaces.
5. A Java class can implement multiple interfaces but it can extend only one abstract class.
Interface is absolutely abstract and cannot be instantiated; 6. A Java abstract class also cannot be instantiated, but can be invoked if a main() exists.
7. In comparison with java abstract classes, java interfaces are slow as it requires extra indirection.

Is This Answer Correct ?    0 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

4. Wcf- what Asych and Sych call and how that works

1447


Explain cache? : Dot net architecture

601


how to create applications by using Visual Studio 2012?

579


What is the .net class that allows the retrieval of a data element using a unique key?

575


Explain the types of memory management? : .NET Architecture

525






Explain difference between machine config vs. Web config : Dot net architecture

488


Explain how cache is used? : Dot net architecture

589


8. Oop-Why and were we use Interfacse and Abstract class.

1593


What is .net mobile lists. : Microsoft dot net mobile

478


Explain how does .net mobile work? : Microsoft dot net mobile

503


Explain Singleton design pattern in .net

578


Explain the number or character entered through keyboard gets converted to equivalent ascii code & it get stored on ram in the binary form. What is the exact procedure on hardware that converts the ascii value to binary? : .NET Architecture

457


Whats new features in Visual Studio 2012?

552


How to prevent my .NET DLL to be decompiled?

574


Explain cache? : .NET Architecture

565