Een Java package is een mechanisme binnen Java om klassen te organiseren in namespaces. Java broncode delen die binnen eenzelfde categorie/functie vallen kunnen hierdoor gegroepeerd worden. Dit kan door middel van een package statement bovenaan het beginbestand om aan te geven waartoe ze behoren. Java packages kunnen worden opgeslagen in gecomprimeerde JAR-bestanden.

Het aangeven van een package

bewerken

Om binnen een Java bronbestand aan te geven binnen welk package hij valt, wordt de volgende syntaxis gebruikt:

 package nl.mijnbedrijf.code;

Dit dient altijd het eerste statement te zijn in een bronbestand. Hierdoor wordt herkenning van de hiërarchie versimpeld.

Gebruik van packages in andere bestanden

bewerken

Om een package binnen een Java-bestand te gebruiken moet de klasse geïmporteerd worden met een import-statement. De statement

import java.util.*;

importeert alle klassen van het java.util package, terwijl

import java.util.Date;

alleen de Date klasse vanuit een package importeert. Na het gebruiken van een van deze import statements kan de Date klasse gebruikt worden door gebruik van zijn klassenaam:

Date huidigeDatum = new Date();

Ook kunnen klassen direct gebruikt worden zonder dat het import statement gebruikt wordt. Dit kan dan gedaan worden door gebruik te maken van de volledige naam van de klasse.

java.util.Date huidigeDatum = new java.util.Date();

Naamconventie voor een package

bewerken

Een package wordt normaal in een hiërarchisch patroon opgenomen, met daarin verschillende niveaus die gescheiden zijn door punten (.) (ook wel in het Engels "dot" genoemd). Een package lager in de hiërarchie wordt vaak een "subpackage" genoemd. Hierbij hoeft geen semantische relatie te bestaan met hoger of lager gelegen packages. De Java Language Specification[1] beschrijft een naam conventie waardoor duplicering van namen van packages wordt voorkomen. De conventie beschrijft een unieke manier/methode om te garanderen dat packages wereldwijd gebruikt kunnen worden met een unieke benaming. Dit om de installatie en het gebruik van packages gemakkelijker te maken.

Package-namen moeten bij voorkeur in kleine ASCII-letters gemaakt worden (dus niet met hoofdletters) (Section 7.7 Java Language specification). In het kort begint een package met een topleveldomeinnaam van een organisatie, gevolgd door subdomeinen in willekeurige volgorde. De topleveldomeinen zijn bijvoorbeeld nl, com, edu, gov, mil, net, org of een van de Engelse tweeletterige combinaties die een land op de wereld identificeren zoals gespecificeerd staat in de ISO Standaard 3166, 1981.

Bijvoorbeeld, een Nederlands bedrijf laat zijn package met nl. beginnen, terwijl een bedrijf uit België met be. zou beginnen. Dus als beide MijnBedrijf heten, wordt dat voor het Nederlandse bedrijf nl.mijnbedrijf.code en voor het Belgische be.mijnbedrijf.code. Hierdoor kunnen klassen uniek geïdentificeerd worden binnen verschillende packages.

Zie ook

bewerken
bewerken