谁是对的? Eclipse还是javac?eclipse编译器或javac中的错误?
--------------- C/V/A.java ---------------
package c.v;
public class A<T> {
}
- ------------- c/v/B.java ---------------
package c.v;
public class B extends A<B.Secret> {
private class Secret {};
}
Eclipse编译B.java就好了。
Javac有问题。
$ javac c/v/B.java c/v/B.java:3: c.v.B.Secret has private access in c.v.B public class B extends A<B.Secret> { ^ 1 error
我认为这个答案是正确的,尽管JLS对顶级课程的限制是愚蠢的。访问OUGHT以扩展到顶级类的类声明(特别是类型参数)。 – Eric 2009-04-17 00:22:30