可能性の重複:
Type-parameterized field of a generic class becomes invisible after upgrading to Java 7パラメータ6のプライベートフィールドがJava 6ではジェネリックメソッドには表示されますが、Java 7では表示されないのはなぜですか?
public class Test{
private String _canYouSeeMe = "yes";
<T extends Test> void genericMethod(T hey){
String s = hey._canYouSeeMe;
}
void method(Test hey){
String s = hey._canYouSeeMe;
}
}
JDK 1.6に対して構築するとき、これはうまくコンパイルが、1.7に対してgenericMethodでコンパイルエラー()があります: フィールドテスト。 _canYouSeeMeが表示されない
エラーは、_canYouSeeMeをむしろ保護することで解決できます民間よりも、私はちょうどクラスの1.7
エラーまたは警告をコンパイルすることになるのに対し、(サブテストは、テストを拡張する場合)
? – kosa
なぜですか?これは同じクラスのメソッドですね。非静的でもあります。 – Qnan
@fmucarここでopenjdk 1.6.0_24でうまくコンパイルされました。 –