Vad ett Java-paket är i programmering

Programmerare är ett organiserat gäng när det gäller att skriva kod. De gillar att ordna sina program så att de flyter på ett logiskt sätt och kallar separata kodblock som var och en har ett visst jobb. Organisera klasserna de skriver görs genom att skapa paket.

Ett paket gör det möjligt för en utvecklare att gruppera klasser (och gränssnitt) tillsammans. Dessa klasser kommer alla att vara relaterade på något sätt - de kan alla ha att göra med en specifik applikation eller utföra en specifik uppsättning uppgifter. Till exempel Java API är fullt av paket. En av dem är paketet javax.xml. Det och dess subpaket innehåller alla klasser i Java API för att hantera XML.

För att gruppera klasser i ett paket måste varje klass ha ett paketmeddelande definierat högst upp i dess.java-fil. Den låter kompilatorn vet vilket paket klassen tillhör och måste vara den första kodraden. Föreställ dig till exempel att du gör ett enkelt Battleships-spel. Det är meningsfullt att lägga in alla klasser som behövs i ett paket som kallas slagskip:

instagram viewer

Det är där alla klasser som tillhör det paketet lagras. Till exempel, om slagskeppspaketet innehåller klasserna GameBoard, Ship, ClientGUI, där kommer att vara filer som heter GameBoard.java, Ship.java och ClientGUI.java lagrade i ett katalogsamtal slagskepp.

Till exempel visar namnet på paketet javax.xml att XML är ett underpaket i javaxpaketet. Det stannar inte där, under XML finns det 11 subpaket: bind, krypto, datatyp, namnutrymme, parsers, soap, stream, transform, validation, ws och XPath.

Katalogerna på filsystemet måste matcha pakethierarkin. Exempelvis kommer klasserna i paketet javax.xml.crypto att leva i en katalogstruktur av.. \ javax \ xml \ crypto.

Men när det gäller kompilatorn är varje paket en särskild uppsättning klasser. Den ser inte på en klass i ett underpaket som en del av dess överordnade paket. Denna distinktion blir tydligare när det gäller att använda paket.

I mjukvaruföretag och stora projekt, där paketen kan importeras till andra klasser, måste namnen vara distinkt. Om två olika paket innehåller en klass med samma namn är det viktigt att det inte finns någon namnkonflikt. Detta görs genom att säkerställa att paketnamnen är olika genom att starta paketnamnet med företagets domän, innan de delas upp i lager eller funktioner:

instagram story viewer