Determine output:
class A{
public void printValue(){
System.out.println("Value-A");
}
}
class B extends A{
public void printNameB(){
System.out.println("Name-B");
}
}
class C extends A{
public void printNameC(){
System.out.println("Name-C");
}
}
public class Test{
public static void main (String[] args){
B b = new B();
C c = new C();
newPrint(b);
newPrint(c);
}
public static void newPrint(A a){
a.printValue();
}
}
class A{
public void printValue(){
System.out.println("Value-A");
}
}
class B extends A{
public void printNameB(){
System.out.println("Name-B");
}
}
class C extends A{
public void printNameC(){
System.out.println("Name-C");
}
}
public class Test{
public static void main (String[] args){
B b = new B();
C c = new C();
newPrint(b);
newPrint(c);
}
public static void newPrint(A a){
a.printValue();
}
}
A. Value-A Name-B
B. Value-A Value-A
C. Value-A Name-C
D. Name-B Name-C
E. None of these
Answer: Option B
Solution(By Examveda Team)
Class B extended Class A therefore all methods of Class A will be available to class B except private methods. Class C extended Class A therefore all methods of Class A will be available to class C except private methods.
What is method overriding in Java?
A. Redefining a superclass method in a subclass
B. Defining a new method with the same name in a subclass
C. Making a method private in a subclass
D. Hiding methods in a superclass
What is the purpose of method overloading in Java?
A. Creating static methods
B. Hiding methods in a superclass
C. Redefining methods in a subclass
D. Defining multiple methods with the same name but different parameters
A. @OverrideMethod
B. @OverrideSuper
C. @Override
D. @OverrideParent
What happens when a subclass tries to override a final method from the superclass in Java?
A. The final method is hidden
B. It results in a compilation error
C. The final method becomes static
D. The final method is hidden
Join The Discussion