Java package
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.
- Een package benoemt een unieke naamruimte voor het type dat het bevat.
- Een package verzorgt een deel van de toegangsfaciliteiten.
- Een package bevat de volgende typen:
Het aangeven van een package
bewerkenOm 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
bewerkenOm 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
bewerkenEen 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
bewerkenExterne links
bewerken- (en) Java Language Specification, 3rd edition: Unique Package Names
- (en) Java Package Naming Conventions