File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
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: 46349
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: 854

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.

In the other disciplines, we rise by standing on each others' shoulders. In computer science, we do it by standing on each others' toes.
I agree. Here's the link:
subject: Method overriding in Java
It's not a secret anymore!