What is displayed when following is expected?
Class Parent {Private Void Method1 () {System.Out.println ("Parent's method1 ()");} public void method2 () {system.out.println ("Parent's method2 ()"); method1 ();}}
Class Child Extends Parent {PUBLIC VOID METHOD1 () {System.Out.println ("Child's Method1 ()");}
Public static void main (string args []) {
Parent P = new child (); p.Method2 ();
}
Choices:
a. Compile Time Error
b. Run Time Error
c .prints: parent's method2 ()
Parent's method1 ()
d .prints: parent's method2 ()
Child's method1 ()
The answer is C
But let's change your questions.
Class Parent {Private Void Method1 () {System.Out.println ("Parent's method1 ()");} public void method2 () {system.out.println ("Parent's method2 ()"); method1 ();}}
Class Child Extends Parent {PUBLIC VOID METHOD1 () {System.Out.println ("Child's Method1 ()");}
Public static void main (string args []) {
Child P = new child (); // change here
p.Method2 ();
}
What should I choose? Also C!
Let's change again:
Class Parent {public void method1 () {// Change Here System.out.println ("Parent's method1 ()");} public void method2 () {system.out.println ("parent's method2 ()"); method1 ( }}
Class Child Extends Parent {PUBLIC VOID METHOD1 () {System.Out.println ("Child's Method1 ()");}
Public static void main (string args []) {
Parent P = new child (); p.Method2 ();
}
This time, I finally an answer d, we changed again:
Class Parent {public void method1 () {// Change Here System.out.println ("Parent's method1 ()");} public void method2 () {system.out.println ("parent's method2 ()"); method1 ( }}
Class Child Extends Parent {PUBLIC VOID Method1 () {System.out.Println ("Child's Method1 ()");} public static void main (String args []) {
Child P = new child (); // changing here p.Method2 ();
}
It is also the answer d. I am running here, but I don't understand why, the master jumped out explained?
Reference post: http://community.9cbs.net/expert/topic/3490/3490386.xml? Temp = .3488581