Given a sample code:
class OuterClass {
private int x = 2;
OuterClass() {
outerMethod();
}
public static class InnerClass {
private int x = 1;
public void innerMethod() {
System.out.println("inner x is " + x);
}
}
public void outerMethod() {
System.out.println("outer x is " + x);
}
}
public class Test {
public static void main(String args[]) {
OuterClass o = new OuterClass();
o.outerMethod();
OuterClass.InnerClass i = new OuterClass.InnerClass();
i.innerMethod();
}
}
What will be the result of above code ?
(1) outer x is 2
outer x is 2
inner x is 1
(2) outer x is 1
inner x is 2
inner x is 2
(3) inner x is 2
outer x is 2
inner x is 1
(4) inner x is 2
outer x is 2
outer x is 1
(1)