Vidyalelo
Java Programming · Q40

Inheritence

Programming · Java Programming · question 40

Q40

What will be the output? class Parent public void method() System.out.println("Hi i am parent"); public class Child extends Parent protected void method() System.out.println("Hi i am Child"); public static void main(String args[]) Child child = new Child(); child.method();

A.
Compiles successfully and print
B.
Run Time error
C.
Compile time error
Answer
D.
None of These

Answer: Option C

Solution

Answer: Option C
Solution:

We cannot reduce the visibility of the inherited method from super class. If the overridden or hidden method is public, then the overriding or hiding method must be public; otherwise, a compile-time error occurs. If the overridden or hidden method is protected, then the overriding or hiding method must be protected or public; otherwise, a compile-time error occurs. If the overridden or hidden method has default (package) access, then the overriding or hiding method must not be private; otherwise, a compile-time error occurs.