Programmierer sind eine organisierte Gruppe, wenn es darum geht, Code zu schreiben. Sie ordnen ihre Programme gerne so an, dass sie logisch ablaufen, und rufen separate Codeblöcke auf, die jeweils einen bestimmten Job haben. Das Organisieren der von ihnen geschriebenen Klassen erfolgt durch Erstellen von Paketen.
Mit einem Paket kann ein Entwickler Klassen (und Schnittstellen) zusammenfassen. Diese Klassen sind alle in irgendeiner Weise miteinander verbunden - sie haben möglicherweise alle mit einer bestimmten Anwendung zu tun oder führen bestimmte Aufgaben aus. Zum Beispiel die Java API ist voll von Paketen. Eines davon ist das Paket javax.xml. Es und seine Unterpakete enthalten alle Klassen in der Java-API, die mit der Behandlung zu tun haben XML.
Um Klassen in einem Paket zu gruppieren, muss für jede Klasse oben eine Paketanweisung definiert sein.Java-Datei. Es teilt dem Compiler mit, zu welchem Paket die Klasse gehört und muss die erste Codezeile sein. Stellen Sie sich zum Beispiel vor, Sie machen ein einfaches Schlachtschiffspiel. Es ist sinnvoll, alle benötigten Klassen in einem Paket namens Schlachtschiffe zusammenzufassen:
Hier werden alle zu diesem Paket gehörenden Klassen gespeichert. Wenn das Schlachtschiffpaket beispielsweise die Klassen GameBoard, Ship, ClientGUI enthält, dann dort Es handelt sich um Dateien mit den Namen GameBoard.java, Ship.java und ClientGUI.java, die in einem Verzeichnisaufruf gespeichert werden Schlachtschiffe.
Der Name des Pakets javax.xml zeigt beispielsweise, dass XML ein Unterpaket des Pakets javax ist. Es hört hier nicht auf, unter XML gibt es 11 Unterpakete: Binden, Krypto, Datentyp, Namespace, Parser, Seife, Stream, Transformation, Validierung, ws und XPath.
Die Verzeichnisse im Dateisystem müssen mit der Pakethierarchie übereinstimmen. Beispielsweise befinden sich die Klassen im Paket javax.xml.crypto in einer Verzeichnisstruktur von.. \ javax \ xml \ crypto.
Für den Compiler ist jedes Paket jedoch eine eigene Gruppe von Klassen. Eine Klasse in einem Unterpaket wird nicht als Teil des übergeordneten Pakets angezeigt. Diese Unterscheidung wird deutlicher, wenn es um die Verwendung von Paketen geht.
In Softwareunternehmen und großen Projekten, in denen die Pakete möglicherweise in andere Klassen importiert werden, müssen die Namen eindeutig sein. Wenn zwei verschiedene Pakete eine Klasse mit demselben Namen enthalten, ist es wichtig, dass kein Namenskonflikt vorliegt. Dazu stellen Sie sicher, dass die Paketnamen unterschiedlich sind, indem Sie den Paketnamen mit der Unternehmensdomäne beginnen, bevor Sie ihn in Ebenen oder Funktionen aufteilen: