I denne artikel lærer du om pakker, og hvordan man bruger dem til at oprette modulkode i Java.
Java-pakke
En pakke er simpelthen en container, der grupperer relaterede typer (Java-klasser, grænseflader, optællinger og annoteringer). For eksempel i core Java ResultSet
hører grænsefladen til java.sql
pakken. Pakken indeholder alle de relaterede typer, der er nødvendige for SQL-forespørgslen og databaseforbindelsen.
Hvis du vil bruge ResultSet
grænsefladen i din kode, skal du bare importere java.sql- pakken (Import af pakker diskuteres senere i artiklen).
Som tidligere nævnt er pakker kun containere til Java-klasser, grænseflader og så videre. Disse pakker hjælper dig med at reservere klassens navneområde og oprette en kode, der kan vedligeholdes.
For eksempel kan du finde to Date
klasser i Java. Tommelfingerreglen i Java-programmering er dog, at kun et unikt klassenavn er tilladt i et Java-projekt.
Hvordan lykkedes det at inkludere to klasser med samme navn Date i JDK?
Dette var muligt, fordi disse to Date
klasser tilhører to forskellige pakker:
java.util.Date
- dette er en normal dato klasse, der kan bruges hvor som helst.java.sql.Date
- dette er en SQL-dato, der bruges til SQL-forespørgslen og lignende.
Baseret på om pakken er defineret af brugeren eller ikke, er pakker opdelt i to kategorier:
Indbygget pakke
Indbyggede pakker er eksisterende java-pakker, der følger med JDK. For eksempel java.lang
, java.util
, java.io
, etc. For eksempel:
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); ) )
Output :
myList = (3, 2, 1)
Den ArrayList
klasse tilhører java.util package
. For at bruge den skal vi først importere pakken ved hjælp af import
erklæringen.
importere java.util.ArrayList;
Brugerdefineret pakke
Java giver dig også mulighed for at oprette pakker efter dine behov. Disse pakker kaldes brugerdefinerede pakker.
Hvordan defineres en Java-pakke?
For at definere en pakke i Java bruger du nøgleordet package
.
package packageName;
Java bruger filsystemmapper til at gemme pakker. Lad os oprette en Java-fil i en anden mappe.
For eksempel:
└── com └── test └── Test.java
Nu skal du redigere Test.java- filen, og i begyndelsen af filen skal du skrive pakkeerklæringen som:
pakke com.test;
Her hører enhver klasse, der er deklareret i testmappen , til com.test- pakken.
Her er koden:
pakke com.test; klasse Test (offentlig statisk ugyldig hoved (String () args) (System.out.println ("Hello World!");))
Output :
Hej Verden!
Her hører testklassen nu til com.test- pakken.
Pakke Navngivning konvention
Pakkens navn skal være entydigt (som et domænenavn). Derfor er der en konvention om at oprette en pakke som et domænenavn, men i omvendt rækkefølge. For eksempel com.company.name
Her er hvert niveau i pakken et bibliotek i dit filsystem. Sådan her:
└── com └── virksomhed └── navn
Og der er ingen begrænsning for, hvor mange underkataloger (pakkehierarki) du kan oprette.
Hvordan oprettes en pakke i Intellij IDEA?
I IntelliJ IDEA kan du oprette en pakke her:
- Højreklik på kildemappen.
- Gå til ny og derefter pakke .
- En pop op-boks vises, hvor du kan indtaste pakkens navn.
Når pakken er oprettet, oprettes der også en lignende mappestruktur på dit filsystem. Nu kan du oprette klasser, grænseflader og så videre inde i pakken.

Hvordan importeres pakker i Java?
Java har en import
erklæring, der giver dig mulighed for at importere en hel pakke (som i tidligere eksempler) eller kun bruge bestemte klasser og grænseflader, der er defineret i pakken.
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 importeres til en anden fil. Filen indeholder klasse UseHelper.
- Den
getFormattedDollar()
Fremgangsmåden Helper klasse kaldes inde fra UseHelper klasse.

I Java import
skrives erklæringen direkte efter pakkeerklæringen (hvis den findes) og før klassedefinitionen.
For eksempel,
pakke pakke.navn; importpakke.ClassName; // kun importere en klasse klasse MyClass (// body)