java - ¿La declaración de campo "advertencia de eclipse oculta otro campo o variable"?
compilation member-hiding (3)
Diría que simplemente deshabilita esta advertencia, parece que no tiene uso en su convención. Y no es de extrañar que se ignore por defecto.
Eclipse tiene una configuración de compilador Java llamada "declaración de campo oculta otro campo o variable" que puede establecerse en advertencia / error.
¿Qué tan importante es esta advertencia en tu opinión?
¿Cuál es una buena forma estándar para manejar este problema?
Ejemplo de código de dónde sucede esto:
public class Test {
private String caption = null;
public Test(String caption) { // here
this.caption = caption;
}
}
He visto soluciones donde se cambia el nombre del campo, es decir, "fCaption", pero eso provocaría que los getters / setters automáticos que se pueden generar tengan nombres impares ( getfCaption()
). No ilegible, pero feo ...
Edit: Oh sí, existe la posibilidad de cambiar el nombre del método signature Test(String caption_)
o algo similar, pero eso terminaría en javadoc con un aspecto extraño.
Esta es una opción muy útil en mi opinión y debería estar habilitada para mostrar una advertencia del compilador. Existe una opción (en mi versión, al menos, Eclipse 3.5.2, característica de Java EE 1.2.2) para habilitarla / deshabilitarla aún más en los constructores y getters / setters para evitar falsos positivos.
Mantengo estos configurados en "Error". Si una clase y su padre tienen un campo con el mismo nombre, no quiero perder el tiempo tratando de descubrir por qué parece que estoy asignando un valor al campo, ¡pero nunca parece cambiar!