Eine Klasse benötigt möglicherweise ein von einer anderen Klasse als eigenes Mitglied oder lokale Variable in einer Methode deklariertes Objekt. Wenn sich die beiden Klassen jedoch im selben Paket befinden, ist dies kein Problem Es muss die Importanweisung verwendet werden.
Importieren Sie Klassen aus der Klassenbibliothek
Verwenden Sie die Importanweisung, um Klassen in das Paket einzuführen. Zusätzlich zum Schreiben von Klassen müssen Sie häufig viele von Java bereitgestellte Klassen verwenden, die sich möglicherweise in verschiedenen Paketen befinden.
Um die von Java bereitgestellten Klassen zu verwenden, können Sie die Importanweisung verwenden, um Klassen in das Paket einzuführen. In einem Java-Quellprogramm können mehrere Importanweisungen vorhanden sein, die zwischen der Paketanweisung (falls vorhanden) und der Definition der Klasse in der Quelldatei geschrieben werden müssen. Java stellt etwa 130 Pakete bereit.
Zum Beispiel:
java.lang enthält alle grundlegenden Sprachklassen
java.io enthält alle Eingabe- und Ausgabeklassen
java.util enthält Dienstprogrammklassen
java.sql enthält Klassen zum Betreiben von Datenbanken
java.net enthält alle Klassen, die Netzwerkfunktionen implementieren
Wenn Sie alle Klassen in einem Paket einführen möchten, können Sie stattdessen das Platzhaltersymbol Sternchen (*) verwenden, zum Beispiel:
importjava.util.*;//Zeigt die Einführung aller Klassen im java.util-Paket an. importjava.util.Date;//Zeigt die Einführung der Date-Klasse im java.util-Paket an
Importieren Sie Klassen aus benutzerdefinierten Paketen
Benutzerprogramme können die Importanweisung auch verwenden, um Klassen mit Paketnamen in Nicht-Klassenbibliotheken einzuführen, zum Beispiel:
importtom.jiafei.*;
Damit ihre eigenen Programme die Klassen im tom.jiafei-Paket verwenden können, können Benutzer den Speicherort des tom.jiafei-Pakets im Klassenpfad angeben. Angenommen, der Speicherort des Pakets tom.jiafei ist C:1000 ist die Klasse mit dem Paketnamen tom.jiafei. Der Bytecode wird im Verzeichnis C:1000tomjiafei gespeichert. Benutzer können den Wert von classpath aktualisieren, zum Beispiel:
setclasspath=C:jdk1.6jrelibrt.jar;.;C:1000/* bedeutet, dass die unbenannte Paketklasse im Verzeichnis C:1000 geladen werden kann und die untergeordneten Verzeichnisse im Verzeichnis C: Das Verzeichnis 1000 kann als Paketname verwendet werden, um */ zu verwenden.
Wenn der Benutzer den Klassenpfadwert nicht aktualisieren möchte, kann er in dem Verzeichnis, in dem sich das Benutzerprogramm befindet, eine Unterverzeichnisstruktur erstellen, die dem Paket entspricht.
Beispiel: Das Verzeichnis, in dem sich eine bestimmte Klasse im Benutzerprogramm befindet, ist C:2000. Wenn diese Klasse die Importanweisung verwenden möchte, um die Klasse in das tom.jiafei-Paket einzuführen, erstellen Sie eine Verzeichnisstruktur C:2000 tomjiafei basierend auf dem Paketnamen. Es ist nicht erforderlich, den Wert des Klassenpfads zu ändern, da der Standardwert des Klassenpfads lautet:
C:jdk1.6jrelibrt.jar;.;/* „.;“ bedeutet, dass die unbenannte Paketklasse im aktuellen Verzeichnis der Anwendung geladen und das untergeordnete Verzeichnis unter dem aktuellen Verzeichnis verwendet werden kann als Name des Pakets* /