Creating References Using Inheritance Hierarchies

AP Computer Science A· difficulty 3/5

import java.util.*;
public class A { public String s() { return "A"; } }
public class B extends A { public String s() { return "B"; } }
List<A> list = new ArrayList<>();
list.add(new A());
list.add(new B());
for (A x : list) System.out.print(x.s());

What is printed?

  • A

    Compile-time error

  • B

    BB

  • C

    AA

  • D

    AB

    check_circle

Explanation

Dynamic dispatch picks each object's actual class method.

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

Related questions