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
AnswerD.
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.