Bei folgender Verwendung:
import static com.showboy.Myclass;
public class Anotherclass{}
Was ist der Unterschied zwischen import static com.showboy.Myclass
und import com.showboy.Myclass
?
quelle
Bei folgender Verwendung:
import static com.showboy.Myclass;
public class Anotherclass{}
Was ist der Unterschied zwischen import static com.showboy.Myclass
und import com.showboy.Myclass
?
Siehe Dokumentation
Die statische Importdeklaration ist analog zur normalen Importdeklaration. Wenn die normale Importdeklaration Klassen aus Paketen importiert, sodass sie ohne Paketqualifizierung verwendet werden können, importiert die statische Importdeklaration statische Elemente aus Klassen, sodass sie ohne Klassenqualifizierung verwendet werden können.
Wann sollten Sie den statischen Import verwenden? Sehr sparsam! Verwenden Sie es nur, wenn Sie sonst versucht wären, lokale Kopien von Konstanten zu deklarieren oder die Vererbung zu missbrauchen (das Antipattern der Konstantenschnittstelle). Mit anderen Worten, verwenden Sie es, wenn Sie häufigen Zugriff auf statische Elemente aus einer oder zwei Klassen benötigen. Wenn Sie die statische Importfunktion überbeanspruchen, kann dies dazu führen, dass Ihr Programm nicht mehr lesbar und nicht mehr wartbar ist und der Namespace mit allen von Ihnen importierten statischen Elementen verschmutzt wird. Leser Ihres Codes (einschließlich Sie, einige Monate nachdem Sie ihn geschrieben haben) wissen nicht, aus welcher Klasse ein statisches Mitglied stammt. Das Importieren aller statischen Elemente aus einer Klasse kann die Lesbarkeit besonders beeinträchtigen. Wenn Sie nur ein oder zwei Mitglieder benötigen, importieren Sie diese einzeln. Bei sachgemäßer Verwendung kann der statische Import Ihr Programm lesbarer machen.
include
in Ruby!Es gibt keinen Unterschied zwischen den beiden von Ihnen angegebenen Importen. Sie können jedoch den statischen Import verwenden, um uneingeschränkten Zugriff auf statische Mitglieder anderer Klassen zu ermöglichen. Wo ich das früher machen musste:
Ich kann dies tun:
Weitere Informationen finden Sie in der Dokumentation .
quelle
Der statische Import wird verwendet, um statische Felder / Methoden einer Klasse zu importieren, anstatt:
Du kannst schreiben :
Dies ist nützlich, wenn Sie häufig eine Konstante aus einer anderen Klasse in Ihrem Code verwenden und der statische Import nicht mehrdeutig ist.
Übrigens, in Ihrem Beispiel "statische org.example.Myclass importieren;" funktioniert nicht: import ist für die Klasse, import static ist für statische Mitglieder einer Klasse.
quelle
Die Grundidee des statischen Imports besteht darin, dass Sie eine statische Klasse, eine statische Variable oder eine Aufzählung immer dann importieren können, wenn Sie eine statische Klasse, eine statische Variable oder eine Aufzählung verwenden.
Ich werde meinen Standpunkt anhand eines Beispiels erläutern.
Gleicher Code mit statischen Importen:
Hinweis : Der statische Import kann das Lesen Ihres Codes verwirren.
quelle
import static java.lang.Math
ohne das Sternchen zu schreiben ?Der erste sollte einen Compilerfehler generieren, da der statische Import nur zum Importieren von Feldern oder Elementtypen funktioniert. (vorausgesetzt, MyClass ist keine innere Klasse oder ein Mitglied von Showboy)
Ich denke du meintest
Dadurch werden alle statischen Felder und Mitglieder von MyClass in der eigentlichen Kompilierungseinheit verfügbar, ohne dass sie qualifiziert werden müssen ... wie oben erläutert
quelle
Das
import
erlaubt es den Java - Programmierer Zugriff Klassen eines Pakets ohne Paket Qualifikation.Die
static import
Funktion ermöglicht den Zugriff auf die statischen Mitglieder einer Klasse ohne die Klassenqualifikation.Das
import
bietet Zugriff auf Klassen und Schnittstellen, während esstatic import
Zugriff auf statische Mitglieder der Klasse bietet.Beispiel:
Mit Import
Mit statischem Import
Siehe auch: Was ist statischer Import in Java 5?
quelle
Angenommen , Sie haben statische Felder und Methoden innerhalb einer Klasse genannt
MyClass
in einem Paket mit dem NamenmyPackage
und Sie wollen , dass sie durch die Eingabe direkt zugreifenmyStaticField
odermyStaticMethod
ohne jedes Mal eingebenMyClass.myStaticField
oderMyClass.myStaticMethod
.Hinweis: Sie müssen ein
import myPackage.MyClass
odermyPackage.*
ausführen, um auf die anderen Ressourcen zuzugreifenquelle
Der
static
Modifikator danachimport
dient zum Abrufen / Verwenden statischer Felder einer Klasse. Ein Bereich, in dem ichimport static
Konstanten aus einer Klasse abrufe. Wir können auchimport static
statische Methoden anwenden . Stellen Sie sicher, dass Sie eingeben,import static
da diesstatic import
falsch ist.Was ist
static import
in Java - JavaRevisited - Eine sehr gute Ressource, um mehr darüber zu erfahrenimport static
.quelle