I did read a number of topics discussing inner classes, and i was under the impression that an inner class has access to the variables and methods of the enclosing class. In
An Non-static inner class
has an implicit reference to the OuterClass
.....
Try it out like this.....
class OuterClass {
String a = "A";
String b = "B";
String c = "C";
class InnerClass {
String x = a; // Directly uses the instance variable a from Outer class
}
public static class StaticInnerClass {
int x;
}
public String stringConCat() {
return a + b + c;
}
}
public class TestStatic {
public static void main(String args[]) {
OuterClass.StaticInnerClass staticClass = new OuterClass.StaticInnerClass();
OuterClass outer = new OuterClass();
OuterClass.InnerClass inner = outer.new InnerClass();
System.out.println(inner.x);
}
}