Real difference between Interface and Abstract Class

I was googleing  regarding this  find interesting thing which, I want to make a note for me.

  • Java interface should be implemented using keyword “implements”; A Java abstract class should be extended using keyword “extends”.
  • An interface can extend another Java interfaces only, an abstract class can extend another Java class and implement multiple Java interfaces.
  • Interface is absolutely abstract and cannot be instantiated; A Java abstract class also cannot be instantiated, but can be invoked if a main() exists.
  • 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 default access  behavioral.

Refernce:-  JavaPapers.com

Advertisements
This entry was posted in Java. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s