En mi aplicación Java que tienen una cierta copia-constructores como estaAcceso de campo privado de otro objeto en constructores de copia - ¿Realmente es un problema?
public MyClass(MyClass src) {
this.field1 = src.field1;
this.field2 = src.field2;
this.field3 = src.field3;
...
}
ahora Netbeans 6.9 advierte sobre esto y me pregunto lo que está mal con este código?
Mis preocupaciones:
- Uso de los captadores pueden introducir efectos secundarios no deseados. Es posible que el nuevo objeto ya no se considere una copia del original.
- Si se recomienda el uso de getters, ¿no sería más consistente si se usaran setters para la nueva instancia también?
EDIT: La advertencia es real "Acceso del ámbito privado de otro objeto" y la única acción disponible Netbeans ofrece es la adición de un @SuppressWarnings("AccessingNonPublicFieldOfAnotherObject")
Mi código es realmente tan trivial como el ejemplo dado.
¿Cuál es la advertencia de Netbeans? – Timothy
Actualicé mi pregunta –
Solo puedo especular sobre el motivo: Algunas personas piensan que 'privado' significa que solo el * objeto * actual puede acceder al campo (mientras que en realidad otros objetos de la misma clase también pueden acceder al campo). Tal vez esta advertencia sea un recordatorio de que esto es realmente posible y para evitar que las personas lo hagan accidentalmente. –