Acabei de receber um comentário de revisão de que minha importação estática do método não era uma boa ideia. A importação estática era de um método de uma classe DA, que possui principalmente métodos estáticos. Então, no meio da lógica de negócios, tive uma atividade que aparentemente parecia pertencer à classe atual:
import static some.package.DA.*;
class BusinessObject {
void someMethod() {
....
save(this);
}
}
O revisor não estava interessado em mudar o código e não o fiz, mas concordo com ele. Uma razão dada para não importar estática foi que era confuso onde o método foi definido, não estava na classe atual e nem em nenhuma superclasse; portanto, demorou muito tempo para identificar sua definição (o sistema de revisão baseado na Web não tem cliques links como IDE :-) Eu realmente não acho que isso importe, as importações estáticas ainda são novas e em breve todos nós vamos nos acostumar a localizá-las.
Mas a outra razão, com a qual concordo, é que uma chamada de método não qualificada parece pertencer ao objeto atual e não deve pular contextos. Mas se realmente pertencesse, faria sentido estender essa super classe.
Então, quando faz sentido métodos de importação estáticos? Quando você fez isso? Você gostou da aparência das chamadas não qualificadas?
EDIT: A opinião popular parece ser que os métodos de importação estática se ninguém os confundirá como métodos da classe atual. Por exemplo, métodos de java.lang.Math e java.awt.Color. Mas se abs e getAlpha não são ambíguos, não vejo por que readEmployee é. Como em muitas opções de programação, acho que isso também é uma preferência pessoal.
Obrigado pela sua resposta pessoal, estou encerrando a pergunta.
import static
, o recurso éstatic import