Creating References Using Inheritance Hierarchies

AP Computer Science A· difficulty 4/5

Vehicle Car Truck Truck adds method haul()

Consider:

<code class="language-java">class Vehicle {} class Car extends Vehicle {} class Truck extends Vehicle { public String haul() { return "load"; } } Vehicle v = new Car(); String out; if (v instanceof Truck) out = ((Truck) v).haul(); else if (v instanceof Car) out = "car"; else out = "vehicle"; System.out.print(out); </code></pre> What is printed?

  • A

    vehicle

  • B

    car

    check_circle
  • C

    ClassCastException at runtime

  • D

    load

Explanation

<code>v</code> references a Car. <code>v instanceof Truck</code> is false (Car is not a Truck), so the cast is not attempted. <code>v instanceof Car</code> is true, so "car" is printed.

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

Related questions