Java-pakker og hvordan importerer jeg dem?

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 ResultSethører grænsefladen til java.sqlpakken. Pakken indeholder alle de relaterede typer, der er nødvendige for SQL-forespørgslen og databaseforbindelsen.

Hvis du vil bruge ResultSetgræ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 Dateklasser 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 Dateklasser 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 ArrayListklasse tilhører java.util package. For at bruge den skal vi først importere pakken ved hjælp af importerklæ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:

  1. Højreklik på kildemappen.
  2. Gå til ny og derefter pakke .
  3. 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 importerklæ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,

  1. the Helper class is defined in com.programiz package.
  2. Helper-klassen importeres til en anden fil. Filen indeholder klasse UseHelper.
  3. Den getFormattedDollar()Fremgangsmåden Helper klasse kaldes inde fra UseHelper klasse.
Java-importpakke

I Java importskrives 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)

Interessante artikler...