Skip to content
Sharp

Core Java · interview question

Given the following code, which method will be executed when display() is called?

Multiple choiceMediumchapter-5-curatedpremiumcore-javaupcasting-and-dynamic-dispatch
java
class Product { void display() { System.out.println("Product"); } }
class Book extends Product { void display() { System.out.println("Book"); } }
public class Main { public static void main(String[] args) { Product p = new Book(); p.display(); } }
Choose one answer
Answer and explanation

Correct answer

A. Book's display method

Why

Since the actual object is of type Book, the overridden display method in Book will be executed due to dynamic method dispatch.

Test yourself on Core Java

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

Start free test
All Core Java questions →