Wer hat Recht? Eclipse oder Javac?Fehler in Eclipse Compiler oder 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-kompiliert B.java just fine.
Javac hat ein Problem.
$ 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
Ich denke, diese Antwort ist korrekt, obwohl die Beschränkung auf den Körper der Top-Level-Klasse durch die JLS ist albern. Greifen Sie auf OUGHT zu, um auf die Klassendeklaration (und insbesondere die Typparameter) der Top-Level-Klasse zu erweitern. – Eric