Vidyalelo
Java Programming · Q28

Inheritence

Programming · Java Programming · question 28

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
Answer
C.
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