Skip to content
Sharp

Object-oriented programming · interview question

Which greeting is printed when dynamic dispatch calls Derived.sayHello()?

Multiple choiceMediumchapter-5-curatedpremiumoopmethod-overriding
java
class Base {
  void sayHello() { System.out.println("Hello from Base"); }
}
class Derived extends Base {
  @Override
  void sayHello() { System.out.println("Hello from Derived"); }
}
public class Test {
  public static void main(String[] args) {
    Base obj = new Derived();
    obj.sayHello();
  }
}
Choose one answer
Answer and explanation

Correct answer

D. Hello from Derived

Why

At runtime, the method call resolves to the method in the actual object type, not the reference type. Hence, 'Hello from Derived' is printed.

Test yourself on Object-oriented programming

A free test with instant, explained results. No account needed.

Start free test
All Object-oriented programming questions →