Meaningless Drivel is fun!
The moose likes Beginning Java and the fly likes Method overriding in Java Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Method overriding in Java" Watch "Method overriding in Java" New topic

Method overriding in Java

Tharindu Priyath

Joined: Nov 01, 2012
Posts: 6

Output of this program is 0.Why?
Campbell Ritchie

Joined: Oct 13, 2005
Posts: 45251
You need to work out the order of invocation of the constructors. Write down which constructor is called and when. Then you can see what of the B object exists. The details are in the Java Language Specification. You will have to follow the links.

By the way: if this is an exam question (original or changed), you must tell us where it is from. It also shows the danger of calling methods not marked final or private from a constructor. It also shows the confusion which can occur when you have two fields of the same name. I hope you are posting this as an example of code you would never use in real life.
Stevens Miller

Joined: Jul 26, 2012
Posts: 772

Yes, please do tell us where this nightmare came from. I had to step through it with the debugger three times before I understood why its output is what it is.
I agree. Here's the link:
subject: Method overriding in Java
It's not a secret anymore!