Win a copy of Clojure in Action this week in the Clojure forum!
    Bookmark Topic Watch Topic
  • New Topic

Abstract class and interface

 
jose chiramal
Ranch Hand
Posts: 266
  • 0
  • Mark post as helpful
  • send pies
  • Report post to moderator
Can someone please explain the following statements:

"In case where you want to use implementation inheritance then it is usually provided by an abstract base class" - what is implementation/class inheritance ?

"Abstract classes let you define some default behaviour and force subclasses to provide any specific behaviour" - what does behaviour mean here, any example ?


 
Yogesh Gnanapraksam
Ranch Hand
Posts: 133
  • 0
  • Mark post as helpful
  • send pies
  • Report post to moderator
"Abstract classes let you define some default behaviour and force subclasses to provide any specific behaviour"

Abstract class can have concrete methods which can provide a default behaviour.
A class marked as abstract can have methods which have the method body (i.e method defintion) .
So if any class extends this abstract class it may or may not override the default behaviour provided by the concrete method in an abstract class.
For eg:


But an interface is 100% abstract which implies that there are no concrete methods so the class implementing the interface must provide
the behaviour for all the methods spcified in the interface.

 
Maneesh Godbole
Saloon Keeper
Posts: 10971
11
Android Eclipse IDE Google Web Toolkit Java Mac Ubuntu
  • 0
  • Mark post as helpful
  • send pies
  • Report post to moderator
Please do not waste everybodys time by asking the same question all over again. Last time you asked it, you were provided a link with the explanation. In case you did not understand anything from that link you can continue in the previous post http://www.coderanch.com/t/488459/Java-General/java/Interface-vs-Abstract-class
 
I agree. Here's the link: http://aspose.com/file-tools
    Bookmark Topic Watch Topic
  • New Topic