This week's book giveaway is in the OCPJP forum.
We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line!
See this thread for details.
The moose likes Beginning Java and the fly likes Doubt with a code Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of OCA/OCP Java SE 7 Programmer I & II Study Guide this week in the OCPJP forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Doubt with a code" Watch "Doubt with a code" New topic

Doubt with a code

Vishal Hegde
Ranch Hand

Joined: Aug 01, 2009
Posts: 1055

//super.over should call variable of alpha 1st shouldnt it?

Then why is that the output is

Why isnt the 1st value 1 ? || OCJP:81%
Rob Spoor

Joined: Oct 27, 2005
Posts: 19725

"super" in super.over only "points up" one class. Since the current class is Gamma that means that super.over means Beta's over - 2.

As for why b.over and a.over are 2 and 1 respectively (in case you don't know): fields (and static methods) are not subject to the rules of polymorphism; the reference type (Beta and Alpha respectively) determine what field (or static method) to use.

How To Ask Questions How To Answer Questions
I agree. Here's the link:
subject: Doubt with a code