这是关于内部类和泛型类型的演示。
class OuterClass<T> {
public OuterClass() {
}
public static void main(String[] args) {
new OuterClass<String>().new InnerAbstractClass() {
};
}
public class InnerAbstractClass {
T t;
public void a() {
}
}
}
class OuterClassTest {
public static void main(String[] args) {
System.out.println(1);
new OuterClass<String>().new InnerAbstractClass() {
};
}
}
虽然它已成功编译,但在OuterClass的主要部分中存在错误信息,而在OuterClassTest的主要部分中没有错误。 我想知道为什么它是不一致的。 我正在使用jdk8和最新的IDEA。