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.

Vilka paket är

Ett paket tillåter 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 är Java API full 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.

Definiera ett paket

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:

 paketslagsskepp

 

 klass GameBoard 

 

  

Varje klass med ovanstående paketförklaring högst upp kommer nu att ingå i Battleships-paketet.

Vanligtvis lagras paket i en motsvarande katalog i filsystemet men det är möjligt att lagra dem i en databas. Katalogen i filsystemet måste ha samma namn som paketet.

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

Skapa en hierarki

Att organisera klasser behöver inte vara på bara en nivå. Varje paket kan ha så många underpaket som behövs. För att särskilja paketet och underpaketet en "." placeras mellan paketnamnen.

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.

Det bör noteras att den hierarki som skapats inte känner igen kompilatorn. Namnen på paketen och delpaketen visar förhållandet som de klasser som de innehåller har till varandra.

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

Namngivande paket

Det finns en standard namnkonvention för paket. Namnen ska vara små. Med små projekt som bara har några paket är namnen vanligtvis enkla (men meningsfulla!) Namn:

 paket pokeranalysator

 paketet mycalculator 

I mjukvaruföretag och stora projekt, där paketen kan importeras till andra klasser, måste namnen vara distinkta. 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:

 paket com.mycompany.utilities 

 paketet org.bobscompany.application.userinterface