Question: public class Person { public static void main(String[] args) { A obj = new B(); obj.staticMethod(); obj.instanceMethod(); } } class A { public static String

public class Person { public static void main(String[] args) { A obj = new B(); obj.staticMethod(); obj.instanceMethod(); } } class A { public static String staticField = "AstaticField"; public String instanceField = "AinstanceField";

public static void staticMethod() { System.out.println("A.staticMethod " + staticField); } public void instanceMethod() { System.out.println("A.instanceMethod " + instanceField); } } class B extends A { public static String staticField = "BstaticField"; public String instanceField = "BinstanceField";

public static void staticMethod() { System.out.println("B.staticMethod " + staticField); } public void instanceMethod() { System.out.println("B.instanceMethod " + instanceField); } }

I know the output, but I don't understand why it outputs what it does. I'd also like to know what the different parts of: A obj = new B(); is because I can't figure out what it affects.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!