Output:
new Outer$Inner1:
foo=Outer.foo
bar=Inner1.bar
new Outer$Inner2:
foo=null
java.lang.NullPointerException
at Outer.access$100(JavaTest.java:1)
at Outer$Inner2.getBar(JavaTest.java:37)
at Outer$Inner1.<init>(JavaTest.java:14)
at Outer$Inner2.<init>(JavaTest.java:29)
at Outer.<init>(JavaTest.java:6)
at Outer.main(JavaTest.java:43)
I can't explain the null situation here.
why NullPointerExceptin is thrown??? why foo is null in Inner2 class?what is the initiating order of a java class ??