日期:2014-05-20  浏览次数:20845 次

创建静态内部类的对象
public class A {
  public static class B {
  public void fun() {
  System.out.println("OK");
  }
  }

  public static void main(String[] args) {
  A a = new A();
  A.B ab = new A.B();
  //A.B b = a.new B();//为什么这样不行
  //A.B b = new A().new B();//为什么这样不行
  }
}


------解决方案--------------------
Java code
public class A {
    public static class B {
        public void fun() {
            System.out.println("OK");
        }
    }
    public class C {
        public void fun() {
            System.out.println("OK");
        }
    }
    public static void main(String[] args) {
        A a = new A();
        A.B ab = new A.B();
        A.C b = a.new C();//成功
        A.C c = new A().new C();//成功
    }
}