my dog learned polymorphism*
The moose likes Java in General and the fly likes Static binding question Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "Static binding question" Watch "Static binding question" New topic
Author

Static binding question

Oceana Wickramasinghe
Ranch Hand

Joined: Mar 02, 2011
Posts: 77
I took this example from the study guide titled "java 6 and j2ee 1.5 Black Book"



The book states that since the method signatures are identical, the compiler fails to bind the methods to their definitions, and it is done at run time. But the problem is that these methods are declared static. To the best of my knowledge static methods are bound at compile time. Which one is right?
Saral Saxena
Ranch Hand

Joined: Apr 22, 2011
Posts: 202

I think static methods are not overridden ..!!
Stephan van Hulst
Bartender

Joined: Sep 20, 2010
Posts: 3603
    
  14

Oceana, have you tried running the code?
Oceana Wickramasinghe
Ranch Hand

Joined: Mar 02, 2011
Posts: 77
Yes the output is

Square of the given value: 25.0
Area of the rectangle: 30.0

Tried with nulls, no difference.

I dont know how a study guide could make such a huge error.
Rob Spoor
Sheriff

Joined: Oct 27, 2005
Posts: 19655
    
  18

Saral is right. Fields and static members cannot be overridden, only shadowed. The reference type determines which one is called, not the actual type.


SCJP 1.4 - SCJP 6 - SCWCD 5 - OCEEJBD 6
How To Ask Questions How To Answer Questions
Saral Saxena
Ranch Hand

Joined: Apr 22, 2011
Posts: 202

Rob Spoor wrote:Saral is right. Fields and static members cannot be overridden, only shadowed. The reference type determines which one is called, not the actual type.


Hi Rob,

Yeah agreed ..!!
 
jQuery in Action, 2nd edition
 
subject: Static binding question
 
Similar Threads
finding closest point
how the program works?
Static binding question
== primitive
abstract class instantiation