Pakketten in Java: een pakket maken / importeren

Inhoudsopgave:

Anonim

Wat is pakket in Java?

PAKKET in Java is een verzameling klassen, subpakketten en interfaces. Het helpt bij het ordenen van uw klassen in een mappenstructuur en maakt het gemakkelijk om ze te vinden en te gebruiken. Wat nog belangrijker is, het helpt de herbruikbaarheid van code te verbeteren.

Elk pakket in Java heeft zijn unieke naam en organiseert zijn klassen en interfaces in een aparte naamruimte of naamgroep.

Hoewel interfaces en klassen met dezelfde naam niet in hetzelfde pakket kunnen voorkomen, kunnen ze in verschillende pakketten voorkomen. Dit is mogelijk door aan elk Java-pakket een aparte naamruimte toe te wijzen.

Syntaxis:-

package nameOfPackage;

De volgende video leidt u door de stappen voor het maken van een pakket.

Klik hier als de video niet toegankelijk is

Laten we het pakket bestuderen met een voorbeeld. We definiëren een klasse en object en compileren dit later in ons pakket p1. Na compilatie voeren we de code uit als een Java-pakket.

Hoe maak je een pakket aan?

Het maken van een pakket is als volgt een eenvoudige taak

  • Kies de naam van het pakket
  • Neem de pakketopdracht op als de eerste regel code in uw Java-bronbestand.
  • Het bronbestand bevat de klassen, interfaces, enz. Die u in het pakket wilt opnemen
  • Compileer om de Java-pakketten te maken

Stap 1) Beschouw het volgende pakketprogramma in Java:

package p1;class c1(){public void m1(){System.out.println("m1 of c1");}public static void main(string args[]){c1 obj = new c1();obj.m1();}}

Hier,

  1. Om een ​​klasse in een pakket te plaatsen, definieert u op de eerste regel van de code pakket p1
  2. Maak een klasse c1
  3. Een methode m1 definiëren die een lijn afdrukt.
  4. De belangrijkste methode definiëren
  5. Een object van klasse c1 maken
  6. Methode m1 aanroepen

Stap 2) Sla in de volgende stap dit bestand op als demo.java

Stap 3) In deze stap compileren we het bestand.

De compilatie is voltooid. Er wordt een klassebestand c1 gemaakt. Er wordt echter geen pakket gemaakt? De volgende stap heeft de oplossing

Stap 4) Nu moeten we een pakket maken, gebruik het commando

javac -d . demo.java

Dit commando dwingt de compiler om een ​​pakket te maken.

De "." operator vertegenwoordigt de huidige werkdirectory.

Stap 5) Wanneer u de code uitvoert, wordt een pakket p1 gemaakt. Wanneer u het Java-pakket p1 binnenin opent, ziet u het bestand c1.class.

Stap 6) Compileer hetzelfde bestand met de volgende code

javac -d… demo.java

Hier geeft "..." de bovenliggende directory aan. In ons geval wordt het bestand opgeslagen in de bovenliggende map, namelijk C Drive

Bestand opgeslagen in bovenliggende map wanneer bovenstaande code wordt uitgevoerd.

Stap 7) Stel nu dat u een subpakket p2 wilt maken binnen ons bestaande Java-pakket p1. Dan zullen we onze code wijzigen als

package p1.p2;class c1{public void m1() {System.out.println("m1 of c1");}}

Stap 8) Compileer het bestand

Zoals te zien is in de onderstaande schermafbeelding, creëert het een subpakket p2 met klasse c1 in het pakket.

Stap 9) Om de code uit te voeren, vermeldt u de volledig gekwalificeerde naam van de klasse, dwz de pakketnaam gevolgd door de naam van het subpakket gevolgd door de klassenaam -

java p1.p2.c1

Dit is hoe het pakket wordt uitgevoerd en geeft de uitvoer als "m1 of c1" uit het codebestand.

Pakket importeren

Om een ​​object van een klasse (gebundeld in een pakket) te maken, moet u in uw code de volledig gekwalificeerde naam gebruiken.

Voorbeeld:

java.awt.event.actionListner object = new java.awt.event.actionListner();

Maar het kan vervelend worden om de lange, door punten gescheiden pakketpadnaam in te typen voor elke klasse die u wilt gebruiken. In plaats daarvan wordt u aangeraden de importinstructie te gebruiken.

Syntaxis

import packageName; 

Eenmaal geïmporteerd, kunt u de klasse gebruiken zonder de volledig gekwalificeerde naam te vermelden.

import java.awt.event.*; // * signifies all classes in this package are importedimport javax.swing.JFrame // here only the JFrame class is imported//UsageJFrame f = new JFrame; // without fully qualified name.

Voorbeeld : om pakket te importeren

Stap 1) Kopieer de code naar een editor.

package p3;import p1.*; //imports classes only in package p1 and NOT in the sub-package p2class c3{public void m3(){System.out.println("Method m3 of Class c3");}public static void main(String args[]){c1 obj1 = new c1();obj1.m1();}}

Stap 2) Sla het bestand op als Demo2.java. Compileer het bestand met het commando javac -d. Demo2.java

Stap 3) Voer de code uit met het commando java p3.c3

Pakketten - aandachtspunten:

  • Om naamconflicten te voorkomen, krijgen pakketten de namen van de domeinnaam van het bedrijf in omgekeerde volgorde, bijvoorbeeld: com.guru99. com.microsoft, com.infosys enz.
  • Als er geen pakketnaam is opgegeven, bevindt een klasse zich in het standaardpakket (de huidige werkdirectory) en krijgt het pakket zelf geen naam. Daardoor kon je opdrachten eerder uitvoeren.
  • Bij het maken van een pakket moet erop worden gelet dat de instructie voor het maken van een pakket moet worden geschreven voor alle andere importinstructies
// not allowedimport package p1.*;package p3;//correct syntaxpackage p3;import package p1.*;

het java.lang-pakket wordt standaard geïmporteerd voor elke klasse die u in Java maakt.

De Java API is zeer uitgebreid, bevat klassen die bijna al uw programmeertaken kunnen uitvoeren, van datastructuurmanipulatie tot netwerken. Vaker wel dan niet, zult u API-bestanden in uw code gebruiken. U kunt de API-documentatie hier bekijken.