java eclipse compilation member-hiding

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!