What will be the output of the following code?This question is required.*class Base {public void display() {System.out.println("Base");}}class Derived extends Base {public void display() {System.out.println("Derived");}}public class Main {public static void main(String[] args) {Base b = new Derived();b.display();}}
Question
What will be the output of the following code?This question is required.*class Base {public void display() {System.out.println("Base");}}class Derived extends Base {public void display() {System.out.println("Derived");}}public class Main {public static void main(String[] args) {Base b = new Derived();b.display();}}
Solution
The output of the code will be "Derived".
Here's the step by step explanation:
-
The
Baseclass has a method calleddisplay()that prints out "Base". -
The
Derivedclass extendsBaseand overrides thedisplay()method to print out "Derived" instead. -
In the
mainmethod, a newDerivedobject is created but it's referred to with aBasereference. -
When
b.display()is called, because of polymorphism, the Java Virtual Machine (JVM) calls thedisplay()method of the actual object thatbrefers to, which is theDerivedclass. Therefore, "Derived" is printed out.
Similar Questions
Select the correct answerWhat will be the output of the following Java program? final class base { int a; } class derived extends base { int b; System.out.println(b + " " + a); } class inheritance { public static void main(String args[]) { derived obj = new derived(); obj.display(); } }OptionsRuntime Error3 32 2Compilation Error
class Base { public void Print() { System.out.println("Base"); }} class Derived extends Base { public void Print() { System.out.println("Derived"); }} class InhDriver { public static void printMsg(Base ob) { ob.Print(); } public static void main(String[] args) { Base x = new Base(); Base y = new Derived(); Derived z = new Derived(); printMsg(x); printMsg(y); printMsg(z); }}
correct answerWhat will be the output of the following Java code? class main { public int x; protected int y; } class derived extends main { int y; void display() { super.y = 5; System.out.println(x + " " + y); } } class Output { public static void main(String args[]) { derived obj = new derived(); obj.x=2; obj.y=3; obj.display(); } }Options2 32 53 25 2
What will be the output of the following Java program?class A { int i; void display() { System.out.println(i); }}class B extends A { int j; void display() { System.out.println(j); }}class inheritance_demo { public static void main(String args[]) { B obj = new B(); obj.i = 1; obj.j = 2; obj.display(); }}Options02Compilation Error1
What will be printed after executing following program code?class Base{ int value = 0; Base(){ addValue(); } void addValue(){ value += 10; } int getValue(){ return value; }}class Derived extends Base{ Derived(){ addValue(); } void addValue(){ value += 20; }}public class Test{ public static void main(String[] args){ Base b = new Derived(); System.out.pr 10203040
Upgrade your grade with Knowee
Get personalized homework help. Review tough concepts in more detail, or go deeper into your topic by exploring other relevant questions.