This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
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.
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 ]