Declarations and Access Control

Q1:
class A 
{  
    protected int method1(int a, int b) 
    {
        return 0; 
    } 
}
Which is valid in a class that extends class A?

A public int method1(int a, int b) {return 0; }

B private int method1(int a, int b) { return 0; }

C public short method1(int a, int b) { return 0; }

D static protected int method1(int a, int b) { return 0; }

ANS:A - public int method1(int a, int b) {return 0; }

Option A is correct - because the class that extends A is just simply overriding method1. Option B is wrong - because it can't override as there are less access privileges in the subclass method1. Option C is wrong - because to override it, the return type needs to be an integer. The different return type means that the method is not overriding but the same argument list means that the method is not overloading. Conflict - compile time error. Option D is wrong - because you can't override a method and make it a class method i.e. using static.



img not found
img

For help Students Orientation
Mcqs Questions

One stop destination for examination, preparation, recruitment, and more. Specially designed online test to solve all your preparation worries. Go wherever you want to and practice whenever you want, using the online test platform.