class X {
  private int i;
  private void f(String s) {
    System.out.println("X.f");
    System.out.println("s = " + s);
  }
  class Inner {
    private int j;
    private void h() {
      System.out.println("Inner.h");
    }
    public void g() {
      i = 99;
      f("Called in Inner");
    }
  }
  public void testInnerAccess() {
    Inner i = new Inner();
    i.h();
    i.j = 47;
  }
}
public class E29_AccessibilityInnerClasses {
  public static void main(String args[]) {
    X x = new X();
    X.Inner xi = x.new Inner();
    xi.g();
    x.testInnerAccess();
  }
}程序的输出是
X.f     //就是这里,我不知道是怎么调用到这个的。谁说说
s = Called in Inner
Inner.h