Win a copy of The Way of the Web Tester: A Beginner's Guide to Automating Tests this week in the Testing forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Inner class question in Sahir Shah's Mock Exam

Harry Chou
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
In Sahir Shah's Mock Exam
1. Consider the following code
public class Outer{
class Inner{}
public void methodA()
What are the valid ways to create an instance of the inner class from methodA ?
1. Inner i = new Inner();
2. Outer.Inner i = new Inner();
3. Outer.Inner i = new Outer.Inner();
4. Inner i = new Outer.Inner();
5. Outer.Inner i = new Outer().new Inner();
6 Object o = new Outer().new Inner();
The answer given is 1, 2, 5, 6
but when run in JDK, all are valid statement to create an instance of inner class.
My code is like this:
class Outer
class Inner {int a = 2;}

public void aMethod(){
Inner i = new Inner(); // this.Inner i = new this.Inner()
Outer.Inner i2 = new Inner();
Outer.Inner i3 = new Outer.Inner();
Inner i4 = new Outer.Inner();

Outer.Inner i5 = new Outer().new Inner();

Object o = new Outer().new Inner();
System.err.println(((Inner) o).a);
public static void main(String[] args){
Outer o = new Outer();
Can somebody give me some clue?
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic