Examveda
Examveda

Determine output:
class A{
      public void printName(){
            System.out.println("Name-A");
      }
}
class B extends A{
      public void printName(){
            System.out.println("Name-B");
      }
}
class C extends A{
      public void printName(){
            System.out.println("Name-C");
      }
}

public class Test{
      public static void main (String[] args){
           B b = new B();
           C c = new C();
            b = c;
            newPrint(b);
      }
      public static void newPrint(A a){
            a.printName();
      }
}

A. Name B

B. Name C

C. Compilation fails due to an error on lines 5

D. Compilation fails due to an error on lines 9

E. None of these

Answer: Option C

Solution(By Examveda Team)

Reference variable can refer to any object of the same type as the declared reference OR can refer to any subtype of the declared type. Reference variable "b" is type of class B and reference variable "c" is a type of class C. So Compilation fails.


This Question Belongs to Java Program >> Inheritence

Join The Discussion

Related Questions on Inheritence

What is inheritance in Java?

A. The process of acquiring properties and behaviors of one class by another

B. The process of creating objects

C. The process of encapsulation

D. The process of overloading methods