15 Packages

Werbung
15
Packages
Zu Java gehören sehr viele verschiedene Klassen. Um nicht die Übersicht zu
verlieren, werden Klassen mit ähnlichem Zweck gemeinsam zu größeren Paketen,
sogenannten “packages” zusammengeschnürt.
Um einen weiteren Zweck von Paketen klarzumachen, stellen Sie sich vor, Sie
hätten eine Klasse namens Y2K erstellt, welche alle Millenium–Bugs vertreibt
und wollten diese Klasse verkaufen. Stellen Sie sich nun vor, ein potentieller
Kunde habe bereits eine eigene Klasse namens Y2K erstellt, benutze diese in
seinem Programm und wolle nicht auf sie verzichten.
Was tun ? Sie könnten natürlich ihre Klasse umbenennen. Aber selbst wenn sie
sie umbenennen, könnte es einen Namenskonflikt mit einem anderen Kunden
geben.
Eine Lösung, derartige Namenskonflikte gar nicht erst zum Problem werden zu
lassen, sind packages. Ein package oder Paket enthält beliebig viele Klassen. Die
in einem package enthaltenen Klassen kann man ansprechen, indem man hinter
den Namen des packages einen Punkt und dann den Namen der Klasse setzt.
Wenn zum Beispiel ein Paket den Namen de.tubs.cs.sc.akeese hat und in dem
Paket eine Klasse namens Y2K enthalten ist, so könnte man die Klasse als
de.tubs.cs.sc.akeese.Y2K ansprechen.
Es ist üblich, Paket–Namen aus der Internet–Adressierung einer Firma zu generieren. Wenn die Firma SUN (www.sun.com) eine Erweiterung zu Java entwickelt, welche nicht im Java–Kern enthalten ist, so würde diese Erweiterung in
einem Paket namens com.sun.paketname enthalten sein.
Da Internet–Adressen eindeutig sind, wird so sichergestellt, daß Pakete unterschiedlicher Firmen unterschiedliche Namen enthalten. Somit haben auch in der
Regel Klassen verschiedener Firmen verschiedene Namen und sind deshalb gemeinsam einsetzbar.
Alle zu Java gehörigen Klassen sind in Paketen enthalten, die mit dem Text
“java” beginnen. So gibt es ein Paket java.awt, in welchem alle Bestandteile des
“Abstract Windowing Toolkits” enthalten sind, es gibt ein Paket java.math,
in welchem spezielle mathematische Klassen enthalten sind, und viele mehr.
Das wichtigste Paket ist das Paket java.lang, in welchem die wichtigsten Java–
Klassen wie z.B. String oder Object enthalten sind.
Wir wollen hier nicht weiter darauf eingehen, wie man packages erstellt, möchten
Ihnen jedoch erläutern, wie man packages benutzt.
Um eine in einem Paket enthaltene Klasse anzusprechen, müssen Sie vor den
Namen der Klasse jedesmal den Namen des Paketes setzen. Wenn der Paketname
lang ist, wird das eine ganze Menge Schreibarbeit. Stellen Sie sich vor, statt
String müssten Sie jedesmal java.lang.String schreiben.
Man kann daher die in einem Paket enthaltenen Namen in ein Programm importieren. Dazu setzt man an den Anfang der Datei den Text
import paketname.*;
Hierdurch werden alle in dem jeweiligen Paket enthaltenen Klassen importiert
und sind in Zukunft ansprechbar, ohne daß Sie den Paketnamen vor den Klassennamen setzen müssen.
142
Wenn Sie nur einzelne Klassen eines Paketes importieren wollen, können Sie
statt des Sterns auch für jede zu importierende Klasse einen einzelnen import–
Befehl angeben, etwa so:
import paketname.klasse1;
import paketname.klasse2;
Beispielsweise enthält das Paket java.util die Klasse Dictionary. Wenn Sie diese
Klasse benutzen wollen, haben Sie zwei Möglichkeiten:
Sie können die Klasse direkt verwenden:
class MeineKlasse {
java.util.Dictionary einDict;
public static void main( String[] args ) {
java.util.Dictionary aDict = new java.util.Dictionary();
}
}
Alternativ können Sie die Klasse auch importieren und können dann eine kürzere
Schreibweise wählen:
import java.util.*;
// oder import java.util.Dictionary
class MeineKlasse {
Dictionary einDict;
public static void main( String[] args ) {
Dictionary aDict = new Dictionary();
}
}
Es ist übrigens nicht nötig, Inhalte des java.lang–Paketes zu importieren. Da die
dort enthaltenen Klassen so häufig benutzt werden, wird es automatisch in jedes
Programm exportiert. Der Java–Compiler fügt automatisch in jedes kompilierte
Programm den Befehl
import java.lang.*;
ein.
Eine Übersicht über die zu Java gehörigen Pakete finden Sie in der Dokumentation zum Java API unter
http://www.tu-bs.de:82/wir/EIP/jdk1.1.8/docs/api/packages.html
Bitte klicken Sie sich dorthin, indem Sie von unseren WWW–Seiten unter den
Litaturlinks zu Java auf den relativ weit unten stehenden Link “Java–Api (lokal)” klicken.
Bitte schauen Sie sich auf dieser WWW–Seite um, klicken Sie dort auf das
Package java.lang und schauen Sie sich die Dokumentation der Object–Klasse
in java.lang an.
143
15.1
Zusammenfassung
Nach Lesen dieses Kapitels sollten Sie
• erklären können, welche Vorteile ein Package bietet.
• den import–Befehl kennen.
• wissen, was am java.lang–Paket besonders ist.
• eine Übersicht der zu Java gehörenden Packages aufrufen können.
144
Herunterladen