?
Determine output:
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();
}
}
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();
}
}
Answer & Solution
Correct Answer:
Option
C
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.
Join the Discussion
Login to post a comment or share your explanation.
Login