Skip to content
Related Articles

Related Articles

Java | Inheritance | Question 1

View Discussion
Improve Article
Save Article
  • Difficulty Level : Medium
  • Last Updated : 09 Jul, 2021

Output of following Java Program?

class Base {
    public void show() {
       System.out.println("Base::show() called");
class Derived extends Base {
    public void show() {
       System.out.println("Derived::show() called");
public class Main {
    public static void main(String[] args) {
        Base b = new Derived();;;

(A) Derived::show() called
(B) Base::show() called

Answer: (A)

Explanation: In the above program, b is a reference of Base type and refers to an object of Derived class.

In Java, functions are virtual by default. So the run time polymorphism happens and derived fun() is called.

Quiz of this Question

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!