Pro zamezení konfliktu jmen se třídy vkládají do balíčků s hierarchickými jmény, přičemž se využívá obráceně psaná internetová adresa registrovaná tvůrcem balíčku.
Soubor Edip.java
v projektu Edip začíná deklarací:
package cz.cas.icpf.hroch486.selfml;
icpf.cas.cz
je doména mého zaměstnavatele
hroch486
je jméno mého počítače
selfml
je vlastní jméno balíčku
Plně kvalifikované jméno třídy (musí se shodovat se jménem souboru) je tedy
cz.cas.icpf.hroch486.selfml.Edip
. Hierarchické jméno má paralelu v adresářové
struktuře, takže zkompilovaná třída Edip.class
musí být v adresáři
cz/cas/icpf/hroch486/selfml/
. Umístění zdrojových souborů obvykle kopíruje
stejnou adresářovou strukturu.
Není nutno definovat třídy v balíčcích, nedělá se to v malých programech, zejména pokud nejsou určeny k veřejné distribuci.