Q. 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 5 D. Compilation fails due to an error on lines 9
πŸ’¬ Discuss
βœ… Correct Answer: (C) Compilation fails due to an error on lines 5
Explanation: 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.
Explanation by: Shiva Ram
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.

πŸ’¬ Discussion


πŸ“Š Question Analytics

πŸ‘οΈ
211
Total Visits
πŸ“½οΈ
1 y ago
Published
πŸŽ–οΈ
Shiva Ram
Publisher
πŸ“ˆ
98%
Success Rate