Hvad en Java-pakke er i programmering

click fraud protection

Programmerere er en organiseret gruppe, når det kommer til at skrive kode. De kan godt lide at arrangere deres programmer, så de flyder på en logisk måde og kalder separate kodeblokke, som hver har et bestemt job. Organisering af klasser, de skriver, foregår ved at oprette pakker.

En pakke giver en udvikler mulighed for at gruppere klasser (og grænseflader) sammen. Disse klasser vil alle være relateret på en eller anden måde - de har muligvis alle at gøre med en bestemt applikation eller udføre et specifikt sæt opgaver. F.eks Java API er fuld af pakker. En af dem er pakken javax.xml. Det og dets underpakker indeholder alle klasser i Java API til håndtering XML.

For at gruppere klasser i en pakke skal hver klasse have en pakkedeklaration defineret øverst på sin.java-fil. Det lader kompilatoren vide, hvilken pakke klassen tilhører og skal være den første kodelinie. Forestil dig for eksempel, at du laver et simpelt slagskibspil. Det giver mening at placere alle de nødvendige klasser i en pakke kaldet slagskibe:

instagram viewer

Det er her, alle klasser, der hører til den pakke, gemmes. For eksempel, hvis slagskibspakken indeholder klasser GameBoard, Ship, ClientGUI, så er der vil være filer kaldet GameBoard.java, Ship.java og ClientGUI.java gemt i et katalogopkald slagskibe.

For eksempel viser navnet på pakken javax.xml, at XML er en underpakke til javax-pakken. Det stopper ikke der, under XML er der 11 underpakker: bind, crypto, datatype, navneområde, parsers, soap, stream, transform, validation, ws og XPath.

Katalogerne på filsystemet skal matche pakkehierarkiet. For eksempel lever klasserne i pakken javax.xml.crypto i en katalogstruktur på.. \ javax \ xml \ crypto.

Men hvad angår kompilatoren er hver pakke et særskilt sæt klasser. Den ser ikke en klasse i en underpakke som en del af dens overordnede pakke. Denne sondring bliver mere tydelig, når det kommer til brug af pakker.

I softwarevirksomheder og store projekter, hvor pakkerne muligvis kan importeres til andre klasser, skal navnene være forskellige. Hvis to forskellige pakker indeholder en klasse med samme navn, er det vigtigt, at der ikke kan være nogen navnekonflikt. Dette gøres ved at sikre, at pakkenavnene er forskellige ved at starte pakkenavnet med firmaets domæne, før de opdeles i lag eller funktioner:

instagram story viewer