Kapitel 14 Programmierkurs Pakete Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln WS 07/08 1/8 Pakete 2/8 Beispiel mit Paketen Der CLASSPATH enthalte das aktuelle Verzeichnis Wir legen im aktuellen Verzeichnis die Unterverzeichnisse demo und demo/tools an Pakete gruppieren zusammengehörende Klassen und Schnittstellen zu Einheiten Im Unterverzeichnis demo wird die Datei A.java angelegt: Um eine Klasse einem Paket zuzuordnen, muss am Anfang des Quelltextes das Schlüsselwort package zusammen mit dem Namen des Pakets angegeben werden package demo; public class A { ... } die package-Anweisung muss vor den import-Anweisungen stehen Die Anweisung package demo; zeigt an, dass die Klasse A zum Paket demo gehört. 3/8 4/8 Beispiel mit Paketen Beispiel mit Paketen Im Stammverzeichnis wird die Datei PackageDemo.java angelegt: Im Unterverzeichnis demo/tools wird die Datei B.java angelegt: import demo.*; import demo.tools.*; package demo.tools; public class C { ... } public class PackageDemo { public static void main (String[] args) { ... } } Die Anweisung package demo.tools; zeigt an, dass die Klasse B zum Paket demo.tools gehört. 5/8 Beispiel mit Paketen 6/8 Das public-Attribut Ohne vorher die Klassen A und B separat übersetzen zu müssen, kann nun einfach PackageDemo kompiliert werden. Damit eine Klasse A eine andere Klasse B einbinden darf, muss eine der beiden Bedingungen erfüllt sein: Der Compiler erkennt die Klassen A und B und findet die Paketverzeichnisse demo und demo/tools A und B gehören zu demselben Paket Die Klasse B wurde als public deklariert Der Compiler erkennt, dass die Quellen noch nicht übersetzt wurden Soll also eine Klasse aus externen Paketen eingebunden werden, muss sie vom Typ public sein. Der Compiler erzeugt aus den .java-Dateien die zugehörigen .class-Dateien in demselben Verzeichnis wie die Quelldateien 7/8 8/8