Java Programming - Declarations and Access Control - Discussion
Discussion Forum : Declarations and Access Control - General Questions (Q.No. 2)
2.
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?
Answer: Option
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.
Discussion:
14 comments Page 1 of 2.
Alex said:
1 decade ago
new Outer.Inner(); //At line 5 will compile without any error too
Alex said:
1 decade ago
simply new Outer(); //At line 5 will also compile
while new ot.Inner(); or new or.Outer(); //At line 5 or 10 will give same error- package ot doesn't exist
while new ot.Inner(); or new or.Outer(); //At line 5 or 10 will give same error- package ot doesn't exist
Parth said:
1 decade ago
What is the effect of new Inner(); in the code ?
Shiva said:
1 decade ago
Can we create obj for inner class in outer class?
Bjoooooooo said:
1 decade ago
Instead of
new ot.Inner(); ot.new Inner();
And
Instead of
new Outer.Inner(); new Outer().new Inner();
At line 10.
new ot.Inner(); ot.new Inner();
And
Instead of
new Outer.Inner(); new Outer().new Inner();
At line 10.
Mounika said:
10 years ago
Can anyone explain me clearly?
Bala said:
10 years ago
There is another error that only one public class is allowed per source code in java.
XYZ said:
9 years ago
The program doesn't compile! But, compiles if the inner class is static.
Cheenu said:
9 years ago
Can anybody please explain more clearly?
Ruchira said:
9 years ago
Please explain this.
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers