Discussion :: Declarations and Access Control
-
public class Outer { public void someOuterMethod() { //Line 5 } public class Inner { } public static void main(String[] argv) { Outer ot = new Outer(); //Line 10 } }
Which of the following code fragments inserted, will allow to compile?
A.
new Inner(); //At line 5
|
B.
new Inner(); //At line 10
|
C.
new ot.Inner(); //At line 10
|
D.
new Outer.Inner(); //At line 10
|
Answer : Option A
Explanation :
Option A compiles without problem.
Option B gives error - non-static variable cannot be referenced from a static context.
Option C package ot does not exist.
Option D gives error - non-static variable cannot be referenced from a static context.
Be The First To Comment