"Hej, Amigo! I dag skal vi tale om pakker."

"Filer på en computer er grupperet i mapper. Klasser i Java (hver klasse er gemt i en separat fil) er grupperet i pakker, som svarer til mapper på harddisken. Så der er ikke noget nyt her. Der er to ting, jeg" vil dog gerne påpege."

" For det første består en klasses fulde unikke navn af dens pakkenavn plus klassenavnet . Her er nogle eksempler:"

Fuldt unikt navn Pakkenavn Klassenavn
java.io.FileInputStream java.io FileInputStream
java.lang.String java.lang Snor
java.util.ArrayList java.util ArrayList
org.apache.tomcat.Servlet org.apache.tomcat Servlet
Kat Ikke specificeret Kat

"Et fuldt klassenavn er altid unikt."

"Det ville være en smerte, hvis vi skulle skrive det lange navn, dvs. java.util.ArrayList , hver gang. Det er derfor, Java lader dig importere klasser. Du kan bruge andre klassers korte navne i din kode, men i begyndelsen af din klasse skal du udtrykkeligt angive, hvilke klasser du vil bruge."

"Hvordan gør du det?"

"Med en linje, der ser sådan ud: import java.util.ArrayList;"

"I begyndelsen af ​​en klasse, umiddelbart efter at have erklæret pakken, kan du angive, hvilken klasse du henviser til, når du bruger ArrayList i din kode."

"Hvorfor overkomplicere tingene? Kan klasser have identiske navne?"

"Ja. Der kan være klasser med det samme navn i forskellige pakker. Vi kan ikke importere to klasser med identiske navne , så vi bliver nødt til at kalde en af ​​dem ved dets fulde navn."

"Her er en analogi til dig. Du har en kollega ved navn Jim. Intet problem med det: alle ved, hvem han er. Men hvis der var tre Jims på dit kontor, ville du være nødt til at kalde dem ved deres fulde unikke navne for at undgå forvirring."

" For det andet er det altid bedre at placere klasser i pakker, ikke root src-mappen . Når du ikke har mange klasser, er dette ikke et problem, men når der er mange, er det nemt at blande dem sammen. Opret altid klasser inde i pakker."

I Java er den almindelige praksis at give klasser og pakker meningsfulde navne. Mange virksomheder frigiver deres biblioteker (sæt af klasser) og opkalder dem efter deres virksomhed eller hjemmeside for at undgå forvirring:"

Pakkenavn Firma-/projektnavn
org. apache .common
org. apache .tomcat
org. apache .util
Apache
com. orakel .jdbc Oracle
java .io
java x.servlet
Sol, Java
com. ibm.websphere IBM, WebSphere
com. jboss JBoss