Creating References Using Inheritance Hierarchies

AP Computer Science A· difficulty 3/5

public class A { public String s() { return "A"; } }
public class B extends A { public String s() { return "B"; } }
public class C extends A { public String s() { return "C"; } }
A[] arr = { new A(), new B(), new C() };
for (A x : arr) System.out.print(x.s());

What is printed?

  • A

    BCA

  • B

    Compile-time error

  • C

    AAA

  • D

    ABC

    check_circle

Explanation

Each element invokes its actual runtime type's method via dynamic dispatch.

Want 10 more like this — adaptive to your weak spots?

Related questions