This week's book giveaway is in the Clojure forum.
We're giving away four copies of Clojure in Action and have Amit Rathore and Francis Avila on-line!
See this thread for details.
Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Overriding and overloading

 
ayush raj
Ranch Hand
Posts: 60
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I was going through K&B chapter2: Object Orientation , when i came across this line : " For the exam , be sure you know that overloaded methods can change the return type but overriding methods can do so only within the bounds of co-varient returns" .

My doubt is :how "overriding methods can do so only within the bounds of covarient returns" .? What it actually means ?
 
jonad jons
Greenhorn
Posts: 1
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

it means that the overriding method return type can be one of his subclass return type.
 
Tim McGuire
Ranch Hand
Posts: 820
IntelliJ IDE Tomcat Server VI Editor
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Covariant just means the overridden method can return a subclass of the return type declared in the parent class (This was introduced in Java 5). Tip: Always use the @Override annotation when you override. It will save you tons of grief.

Original method:


OVERLOAD: "overloaded methods can change return type" (and the method signature must change. This means changing the number of arguments and / or the types)


OVERRIDE: "overridden methods must have the same return type OR covariant return type
 
Seetharaman Venkatasamy
Ranch Hand
Posts: 5575
Eclipse IDE Java Windows XP
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Tim McGuire wrote:
OVERLOAD: "overloaded methods can change return type"


importantly signature[method name and argument] must be different in case of overloading
 
Tim McGuire
Ranch Hand
Posts: 820
IntelliJ IDE Tomcat Server VI Editor
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Seetharaman Venkatasamy wrote:
Tim McGuire wrote:
OVERLOAD: "overloaded methods can change return type"


importantly signature[method name and argument] must be different in case of overloading


Yow. I overlooked that. I'll edit the original.
 
I agree. Here's the link: http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic