Ich habe gerade einen Kommentar erhalten, dass mein statischer Import der Methode keine gute Idee war. Der statische Import erfolgte von einer Methode aus einer DA-Klasse, die hauptsächlich statische Methoden enthält. Mitten in der Geschäftslogik hatte ich eine Aktivität, die anscheinend zur aktuellen Klasse zu gehören schien:
import static some.package.DA.*;
class BusinessObject {
void someMethod() {
....
save(this);
}
}
Der Rezensent war nicht daran interessiert, dass ich den Code ändere, und ich habe es nicht getan, aber ich stimme ihm irgendwie zu. Ein Grund dafür, dass der statische Import nicht statisch war, war verwirrend, wo die Methode definiert wurde, sie war nicht in der aktuellen Klasse und nicht in einer Oberklasse, so dass es zu einige Zeit dauerte, ihre Definition zu identifizieren (das webbasierte Überprüfungssystem ist nicht anklickbar Links wie IDE :-) Ich denke nicht wirklich, dass dies wichtig ist, statische Importe sind noch ziemlich neu und bald werden wir uns alle daran gewöhnen, sie zu finden.
Der andere Grund, dem ich zustimme, ist, dass ein nicht qualifizierter Methodenaufruf zum aktuellen Objekt zu gehören scheint und keine Kontexte überspringen sollte. Aber wenn es wirklich dazu gehörte, wäre es sinnvoll, diese Superklasse zu erweitern.
Also, wenn nicht es sinnvoll, statische Import - Methoden machen? Wann hast du es getan? Hat / hat Ihnen das Aussehen der unqualifizierten Anrufe gefallen?
EDIT: Die populäre Meinung scheint zu sein, dass statische Importmethoden, wenn niemand sie als Methoden der aktuellen Klasse verwechseln wird. Zum Beispiel Methoden aus java.lang.Math und java.awt.Color. Aber wenn abs und getAlpha nicht mehrdeutig sind, verstehe ich nicht, warum readEmployee ist. Wie bei vielen Programmieroptionen denke auch ich, dass dies eine persönliche Präferenzsache ist.
Vielen Dank für Ihre Antwort, ich schließe die Frage.
import static
, die Funktion iststatic import