Writing Constructors for Subclasses

AP Computer Science A· difficulty 4/5

public class A {
    public String name() { return "A"; }
}
public class B extends A {
    public String name() { return "B-" + super.name(); }
}
public class C extends B {
    public String name() { return "C-" + super.name(); }
}
// Usage:
C c = new C();
System.out.print(c.name());

What is printed?

  • A

    C-A

  • B

    A-B-C

  • C

    C-B-A

    check_circle
  • D

    C

Explanation

C calls super.name() which is B's, prepending "C-". B calls super.name() which is A's, prepending "B-". Result: "C-B-A".

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

Related questions