解决方案 »

  1.   

    java编程思想中看到这个说明,好像要使用反射。或者甚至匿名类也有办法搞定。
      

  2.   

    一搜一大片
    Constructor c = Inner.class.getDeclaredConstructor(Outer.class);
    c.newInstance(new Outer());
      

  3.   

    明天我到公司翻一下书。java编程思想有提到这个问题。希望明天没有忘记
      

  4.   

    晕,人家3楼都告诉你怎么用了。我再说点
    内部类编译后会在构造方法的参数前再加个参数,参数类型就是外部的类。
    自己探索这个问题的方法我给两种,一个getDeclaredConstructors()方法反射能看到所有构造方法,一个通过javap反编译
      

  5.   

    可以试试下面的
    TestInnnerClass myinner = new TestInnnerClass();
    Class<?>[] clazzs = myinner.getClass().getDeclaredClasses();
    for (int i = 0; i < clazzs.length; i++) {
    Object obj = clazzs[i].getConstructor(myinner.getClass())
    .newInstance(myinner);
    System.out.println(obj.getClass().getName());
    }