Inheritence - Study Mode
[#51] What is the result of the following code snippet? class Parent { static void display() { System.out.println("Parent")
} } class Child extends Parent { public static void main(String[] args) { Child obj = new Child()
obj.display()
} }
Correct Answer
(D) Parent
[#52] 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()
} }
Correct Answer
(B) 10 20
Explanation
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
[#53] What is the result of the following code snippet? class Parent { final void display() { System.out.println("Parent")
} } class Child extends Parent { void display() { System.out.println("Child")
} public static void main(String[] args) { Child obj = new Child()
obj.display()
} }
Correct Answer
(D) Compilation error
[#54] What is the result of the following code snippet? class Parent { protected void display() { System.out.println("Parent")
} } class Child extends Parent { void show() { display()
} } public class Main { public static void main(String[] args) { Child obj = new Child()
obj.show()
} }
Correct Answer
(D) Parent
[#55] What is the result of the following code snippet? class Parent { void display() { System.out.println("Parent")
} } class Child extends Parent { void display() { super.display()
System.out.println("Child")
} } public class Main { public static void main(String[] args) { Child obj = new Child()
obj.display()
} }
Correct Answer
(D) Parent Child