可能重複:
Type-parameterized field of a generic class becomes invisible after upgrading to Java 7爲什麼參數的專用字段對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.6改爲1.7
錯誤或警告? – kosa 2012-08-01 14:25:22
爲什麼不呢?這是同一班的方法,不是嗎?也是非靜態的。 – Qnan 2012-08-01 14:28:34
@fmucar用openjdk 1.6.0_24編譯得很好。 – 2012-08-01 14:31:41