I den här artikeln lär du dig om paket och hur du använder dem för att skapa modulkod i Java.
Java-paket
Ett paket är helt enkelt en behållare som grupperar relaterade typer (Java-klasser, gränssnitt, uppräkningar och anteckningar). Till exempel, i Java-kärnan, ResultSet
hör gränssnittet till java.sql
paketet. Paketet innehåller alla relaterade typer som behövs för SQL-frågan och databasanslutningen.
Om du vill använda ResultSet
gränssnittet i din kod, importerar du bara paketet java.sql (Importera paket kommer att diskuteras senare i artikeln).
Som tidigare nämnts är paket bara behållare för Java-klasser, gränssnitt och så vidare. Dessa paket hjälper dig att reservera klassnamnsområdet och skapa en kod som kan underhållas.
Till exempel kan du hitta två Date
klasser i Java. Tumregeln i Java-programmering är dock att endast ett unikt klassnamn är tillåtet i ett Java-projekt.
Hur lyckades de inkludera två klasser med samma namn Date i JDK?
Detta var möjligt eftersom dessa två Date
klasser tillhör två olika paket:
java.util.Date
- det här är en normal datumklass som kan användas var som helst.java.sql.Date
- detta är ett SQL-datum som används för SQL-frågan och sådant.
Baserat på om paketet definieras av användaren eller inte delas paketen upp i två kategorier:
Inbyggt paket
Inbyggda paket är befintliga Java-paket som följer med JDK. Till exempel java.lang
, java.util
, java.io
, etc. Till exempel:
import java.util.ArrayList; class ArrayListUtilization ( public static void main(String() args) ( ArrayList myList = new ArrayList(3); myList.add(3); myList.add(2); myList.add(1); System.out.println(myList); ) )
Utgång :
myList = (3, 2, 1)
Den ArrayList
klass tillhör java.util package
. För att kunna använda det måste vi först importera paketet med hjälp av import
uttalandet.
importera java.util.ArrayList;
Användardefinierat paket
Java låter dig också skapa paket enligt dina behov. Dessa paket kallas användardefinierade paket.
Hur definierar jag ett Java-paket?
För att definiera ett paket i Java använder du nyckelordet package
.
package packageName;
Java använder filsystemkataloger för att lagra paket. Låt oss skapa en Java-fil i en annan katalog.
Till exempel:
└── com └── test └── Test.java
Nu redigerar du Test.java- filen och i början av filen skriver du paketdeklarationen som:
paket com.test;
Här tillhör varje klass som deklareras i testkatalogen com.test- paketet.
Här är koden:
paket com.test; class Test (public static void main (String () args) (System.out.println ("Hello World!");))
Utgång :
Hej världen!
Här tillhör testklassen nu com.test- paketet.
Konvention för paketnamn
Paketnamnet måste vara unikt (som ett domännamn). Därför finns det en konvention för att skapa ett paket som ett domännamn, men i omvänd ordning. Till exempel com.company.name
Här är varje nivå i paketet en katalog i ditt filsystem. Så här:
└── com └── företag └── namn
Och det finns ingen begränsning för hur många underkataloger (pakethierarki) du kan skapa.
Hur skapar jag ett paket i Intellij IDEA?
Så här kan du skapa ett paket i IntelliJ IDEA:
- Högerklicka på källmappen.
- Gå till nytt och paketera sedan .
- En popup-ruta visas där du kan ange paketnamnet.
När paketet har skapats skapas också en liknande mappstruktur i ditt filsystem. Nu kan du skapa klasser, gränssnitt och så vidare i paketet.
Hur importerar jag paket i Java?
Java har ett import
uttalande som låter dig importera ett helt paket (som i tidigare exempel), eller använda endast vissa klasser och gränssnitt som definierats i paketet.
The general form of import
statement is:
import package.name.ClassName; // To import a certain class only import package.name.* // To import the whole package
For example,
import java.util.Date; // imports only Date class import java.io.*; // imports everything inside java.io package
The import
statement is optional in Java.
If you want to use class/interface from a certain package, you can also use its fully qualified name, which includes its full package hierarchy.
Here is an example to import a package using the import
statement.
import java.util.Date; class MyClass implements Date ( // body )
The same task can be done using the fully qualified name as follows:
class MyClass implements java.util.Date ( //body )
Example: Package and importing package
Suppose, you have defined a package com.programiz that contains a class Helper.
package com.programiz; public class Helper ( public static String getFormattedDollar (double value)( return String.format("$%.2f", value); ) )
Now, you can import Helper class from com.programiz package to your implementation class. Once you import it, the class can be referred directly by its name. Here's how:
import com.programiz.Helper; class UseHelper ( public static void main(String() args) ( double value = 99.5; String formattedValue = Helper.getFormattedDollar(value); System.out.println("formattedValue = " + formattedValue); ) )
Output:
formattedValue = $99.50
Here,
- the Helper class is defined in com.programiz package.
- Helper-klassen importeras till en annan fil. Filen innehåller UseHelper-klassen.
- Den
getFormattedDollar()
Förfarandet enligt Helper klassen anropas inifrån UseHelper klass.
I Java import
skrivs uttalandet direkt efter paketdeklarationen (om det finns) och före klassdefinitionen.
Till exempel,
paket paket.namn; importpaket.Klassnamn; // importerar bara en klassklass MyClass (// body)