Acabo de recibir un comentario de revisión de que mi importación estática del método no era una buena idea. La importación estática era de un método de una clase DA, que tiene principalmente métodos estáticos. Entonces, en medio de la lógica de negocios, tuve una actividad da que aparentemente parecía pertenecer a la clase actual:
import static some.package.DA.*;
class BusinessObject {
void someMethod() {
....
save(this);
}
}
El revisor no estaba interesado en cambiar el código y no lo hice, pero estoy de acuerdo con él. Una razón dada para no importar estáticamente fue que era confuso el lugar donde se definió el método, no estaba en la clase actual y no en ninguna superclase, por lo que es demasiado tiempo para identificar su definición (el sistema de revisión basado en la web no tiene clics) enlaces como IDE :-) Realmente no creo que esto importe, las importaciones estáticas todavía son bastante nuevas y pronto todos nos acostumbraremos a localizarlas.
Pero la otra razón, con la que estoy de acuerdo, es que una llamada a un método no calificado parece pertenecer al objeto actual y no debe saltar los contextos. Pero si realmente perteneciera, tendría sentido extender esa superclase.
Entonces, ¿cuándo tiene sentido los métodos de importación estáticos? Cuando lo has hecho ¿Te gustó / te gusta cómo se ven las llamadas no calificadas?
EDITAR: La opinión popular parece ser que los métodos de importación estática si nadie los va a confundir como métodos de la clase actual. Por ejemplo, métodos de java.lang.Math y java.awt.Color. Pero si abs y getAlpha no son ambiguos, no entiendo por qué readEmployee sí lo es. Como en muchas opciones de programación, creo que esto también es una preferencia personal.
Gracias por su respuesta chicos, estoy cerrando la pregunta.
import static
, la característica esstatic import