aspose file tools*
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Constructor,why displaying null on this program Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Java 8 in Action this week in the Java 8 forum!
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Constructor,why displaying null on this program" Watch "Constructor,why displaying null on this program" New topic
Author

Constructor,why displaying null on this program

Shiva Mohan
Ranch Hand

Joined: Jan 05, 2006
Posts: 477



When the Child class loaded in main() method,at that time s=�Child� member variable is initialized.Right?
Then why the answer s=null printing when we access super class constructor method() will call Child class method() method?I thought it would print s=Child.Please Explain the rules.
Keith Lynn
Ranch Hand

Joined: Feb 07, 2005
Posts: 2367
Because the superclass is initialized during the process of initializing the subclass. The instance variables in the subclass are given default values, and before they are initialized there is an implicit call to the no-args constructor of the superclass. During that call, an overridden method is called. Since it is overridden in the subclass and that is the method that executes. Since the subclass has not finished initializing yet, the value of its instance variables are the default values.
[ September 20, 2006: Message edited by: Keith Lynn ]
Srinivas Kalvala
Ranch Hand

Joined: Oct 20, 2005
Posts: 257

Hello,

The simple & straight answer is, the instance variables are created and assigned default values until the super class constructor is executed, then the values are assigned.



Output:
--------------

Inside this Parent Hello
Inside Method Child null
Inside this Child Hello
Inside Method Child Hello


As you see, the Parent method() is not called....
Shiva Mohan
Ranch Hand

Joined: Jan 05, 2006
Posts: 477
Srinivas and Keith thank you so much for all your help.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Constructor,why displaying null on this program
 
Similar Threads
Constructor doubt
a question from teamtesting
Inheritance - weird behaviour ?
Help
Please explain the initialization sequence in this code