3.5 Import und Pakete 

Ein Paket ist eine Gruppe thematisch zusammengehöriger Klassen und Schnittstellen. Die Gruppierung lässt sich sehr gut an der Java-Bibliothek beobachten, wo sich zum Beispiel eine Klasse URL im Paket java.net befindet, ebenso wie die Klasse Socket in java.net liegt – URLs und Sockets gehören eben zu Netzwerkdingen. Ein Punkt, repräsentiert durch die Klasse Point, gehört in das Paket für grafische Oberflächen, und das ist das Paket java.awt.
Um Klassen innerhalb von Paketen nutzen zu können, müssen sie dem Compiler präzise beschrieben werden. Dafür gibt es zwei Möglichkeiten: Zum einen lassen sich die Klassen (oder Schnittstellen) voll qualifizieren, wie wir das bisher getan haben:
java.awt.Point p = new java.awt.Point(); new java.awt.Point().x = 1;
Eine alternative und praktischere Möglichkeit besteht darin, den Compiler mit import auf die Klassen im Paket aufmerksam zu machen:
Listing 3.2 MyPointWithImport.java
import java.awt.Point; class MyPointWithImport { public static void main( String[] args ) { Point p = new Point(); System.out.println( p.toString() ); // java.awt.Point[x=0,y=0] } }
Kommt der Compiler zu einer Anweisung wie Point p = new Point();,erinnert er sich, dass Point im Paket java.awt deklariert wurde, und kennt damit die für ihn unabkömmliche absolute Qualifizierung.