Je viens de recevoir un commentaire sur le fait que mon import statique de la méthode n'était pas une bonne idée. L'importation statique était une méthode d'une classe DA, qui a principalement des méthodes statiques. Donc, au milieu de la logique métier, j'avais une activité da qui semblait appartenir à la classe actuelle:
import static some.package.DA.*;
class BusinessObject {
void someMethod() {
....
save(this);
}
}
Le critique n'a pas voulu que je change le code et je ne l'ai pas fait, mais je suis plutôt d'accord avec lui. L'une des raisons invoquées pour ne pas importer statique était qu'il était déroutant où la méthode a été définie, ce n'était pas dans la classe actuelle et pas dans une superclasse, il était donc trop de temps pour identifier sa définition (le système de révision basé sur le Web n'a pas cliquable liens comme IDE :-) Je ne pense pas vraiment que cela compte, les importations statiques sont encore assez récentes et bientôt nous nous habituerons tous à les localiser.
Mais l'autre raison, celle avec laquelle je suis d'accord, est qu'un appel de méthode non qualifié semble appartenir à l'objet courant et ne doit pas sauter de contextes. Mais si cela appartenait vraiment, il serait logique d'étendre cette super classe.
Alors, quand est- il judicieux d'utiliser des méthodes d'importation statiques? Quand l'avez-vous fait? Avez-vous aimé / avez-vous aimé l'apparence des appels non qualifiés?
EDIT: L'opinion populaire semble être que les méthodes d'importation statique si personne ne va les confondre avec les méthodes de la classe actuelle. Par exemple, les méthodes de java.lang.Math et java.awt.Color. Mais si abs et getAlpha ne sont pas ambigus, je ne vois pas pourquoi readEmployee l'est. Comme dans beaucoup de choix de programmation, je pense que c'est aussi une question de préférence personnelle.
Merci pour votre réponse les gars, je ferme la question.
import static
, la fonctionnalité eststatic import