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
- Bcheck_circle
car
- 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.