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
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(); } }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.
More Core Java questions
- What happens if a class implements two interfaces that have methods with the same signature?
- Given the code snippet below, what will be the result of the comparison using '=='?
- Which of the following variable names is best for storing the total amount in a shopping cart?
- When does a local variable declared inside a method stop existing?
- Which of the following is a checked exception?
- Why might you choose 'int' over 'long' for storing the number of items in a small store's inventory?