嵌套类(顺便说一下,它 不是 子类)没有被标记为静态的,因此它是一个 内部 类,需要构造一个编码类(JavaApp1)的实例。
选项:
- 使嵌套类静态
- 使其不是内部类(即完全不在内部
JavaApp1
) - 创建一个实例
JavaApp1
作为“封闭实例”:GenTest x = new JavaApp1().new GenTest();
就我个人而言,我会采用第二种方法-
Java中的嵌套类在它们周围有一些怪异之处,因此除非您有充分的理由将其嵌套,否则我将使用顶级类。(IMO的最终选择特别麻烦。)
有关内部类的更多信息,请参见JLS的8.1.3节。



