Duplicar posible:
Type-parameterized field of a generic class becomes invisible after upgrading to Java 7¿Por qué el campo privado de un parámetro es visible para un método genérico en Java 6 pero no en 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;
}
}
Cuando se construye contra el JDK 1.6 Esto compila bien, pero frente al 1,7 hay un error de compilación en genericMethod(): la prueba de campo. _canYouSeeMe no está visible
El error se puede resolver haciendo que _canYouSeeMe esté protegido en lugar de lo privado, pero me pregunto lo que ha cambiado de 1.6 a 1.7
error o una advertencia? – kosa
¿por qué no? este es un método de la misma clase, ¿no? y no estático, también. – Qnan
@fmucar Compilado bien aquí con openjdk 1.6.0_24. –