Q28
What is the result of the following code snippet?class Parent private int x = 10;class Child extends Parent int x = 20; void display() System.out.println(super.x + " " + x); public class Main public static void main(String[] args) Child obj = new Child(); obj.display();
A.
20 10
B.
10 20
AnswerC.
Runtime exception
D.
None of These
Answer: Option B
Solution
Answer: Option B
Solution:
The given code snippet involves inheritance in Java. It defines two classes: Parent and Child. The Child class extends the Parent class, which means it inherits its fields and methods.Inside the
Parent class, there is a private integer variable x with a value of 10. In the Child class, there is another integer variable x with a value of 20. Additionally, the Child class has a display() method that prints the values of super.x and x.In Java, when you access a variable with the
super keyword, it refers to the variable of the superclass. When you access a variable without super, it refers to the variable of the current class.Now, let's analyze what happens in the
display() method:-
super.x refers to the x variable in the Parent class, which is 10.-
x refers to the x variable in the Child class, which is 20.So, the
display() method will print "10 20" because it first accesses the x variable of the superclass (Parent) using super.x and then accesses the x variable of the current class (Child) directly.Therefore, the correct answer is:
Option B: 10 20