Csomagok Java-ban: Csomagok létrehozása / importálása

Mi a csomag a Java-ban?

A PACKAGE a Java osztályok, alcsomagok és interfészek gyűjteménye. Segít az osztályok mappaszerkezetbe rendezésében, és megkönnyíti azok megkeresését és használatát. Ennél is fontosabb, hogy javítja a kód újrafelhasználhatóságát.

A Java minden egyes csomagjának egyedi neve van, és osztályait és interfészeit külön névtérbe vagy névcsoportba rendezi.

Bár az azonos nevű interfészek és osztályok nem jelenhetnek meg ugyanabban a csomagban, különböző csomagokban jelenhetnek meg. Ez úgy lehetséges, hogy minden Java-csomaghoz külön névteret rendelünk.

Szintaxis:-

package nameOfPackage;

Az alábbi videó végigvezeti a csomag létrehozásának lépésein.

Kattintson ide, ha a videó nem érhető el

Tanulmányozzuk a csomagot egy példával. Meghatározunk egy osztályt és objektumot, majd később ezt összeállítjuk a p1 csomagunkba. Összeállítás után a kódot java csomagként hajtjuk végre.

Hogyan készítsünk csomagot?

A csomag létrehozása az alábbiak szerint egyszerű feladat

  • Válassza ki a csomag nevét
  • Tartalmazza a csomag parancsot a Java forrásfájl első kódsoraként.
  • A Forrás fájl tartalmazza azokat az osztályokat, interfészeket stb., Amelyeket fel akar venni a csomagba
  • Fordítsd le a Java csomagok létrehozásához

1. lépés: Vegye figyelembe a következő Java-csomagprogramot:

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();}}

Itt,

  1. Osztály csomagba helyezéséhez a kód első sorában adja meg a p1 csomagot
  2. Hozzon létre egy c1 osztályt
  3. Olyan m1 módszer meghatározása, amely egy vonalat nyomtat.
  4. A fő módszer meghatározása
  5. A c1 osztályú objektum létrehozása
  6. M1 hívási módszer

2. lépés) A következő lépésben mentse el ezt a fájlt demo.java néven

3. lépés) Ebben a lépésben lefordítjuk a fájlt.

Az összeállítás elkészült. Létrejön egy c1 osztályfájl. Azonban nem jön létre csomag? A következő lépés a megoldás

4. lépés) Most létre kell hoznunk egy csomagot, használjuk a parancsot

javac -d . demo.java

Ez a parancs arra kényszeríti a fordítót, hogy hozzon létre egy csomagot.

A "." operátor képviseli az aktuális munkakönyvtárat.

5. lépés: A kód végrehajtásakor létrehoz egy p1 csomagot. Amikor megnyitja a java p1 csomagot, meglátja a c1.class fájlt.

6. lépés: Fordítsa le ugyanazt a fájlt a következő kód segítségével

javac -d… demo.java

Itt a "…" a szülő könyvtárat jelöli. Esetünkben a fájlt a szülő könyvtárba menti, amely a C meghajtó

A fájl mentése a szülő könyvtárba, amikor a fenti kód végrehajtásra kerül.

7. lépés) Tegyük fel, hogy létrehoz egy p2 alcsomagot a meglévő p1 java csomagunkon belül. Ezután módosítjuk a kódunkat

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

8. lépés: Fordítsa le a fájlt

Amint az az alábbi képernyőképen látható, létrehoz egy p2 alcsomagot, amelynek a csomagban a c1 osztálya van.

9. lépés: A kód végrehajtásához említse meg az osztály teljes minősítésű nevét, azaz a csomag nevét, majd az alcsomag nevét, majd az osztály nevét -

java p1.p2.c1

Így futtatja a csomagot, és a kimenetet "m1 of c1" -ként adja meg a kódfájlból.

A csomag importálása

Osztály (egy csomagba csomagolva) objektumának létrehozásához a kódban annak teljesen minősített nevét kell használnia.

Példa:

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

De unalmassá válhat a hosszú pontokkal elválasztott csomag elérési útjának megadása minden használni kívánt osztályhoz. Ehelyett ajánlott az import utasítás használatát.

Szintaxis

import packageName; 

Az importálás után használhatja az osztályt anélkül, hogy megemlítené annak teljes minősítését.

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.

Példa : Csomag importálása

1. lépés: Másolja a kódot egy szerkesztőbe.

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();}}

2. lépés: Mentse a fájlt Demo2.java néven. Fordítsa le a fájlt a javac -d paranccsal . Demo2.java

3. lépés: Hajtsa végre a kódot a java p3.c3 paranccsal

Csomagok - megjegyzendő pontok:

  • A névütközések elkerülése érdekében a csomagok megadják a vállalat domain nevének fordított nevét: Ex.gom.g99. com.microsoft, com.infosys stb.
  • Ha a csomag neve nincs megadva, akkor az osztály az alapértelmezett csomagban (az aktuális munkakönyvtárban) szerepel, és maga a csomag nem kap nevet. Így korábban már elvégezhette a feladatokat.
  • A csomag létrehozása során ügyelni kell arra, hogy a csomag létrehozására vonatkozó utasítást minden más import utasítás előtt meg kell írni
// not allowedimport package p1.*;package p3;//correct syntaxpackage p3;import package p1.*;

a java.lang csomagot alapértelmezés szerint importálják minden olyan osztályra, amelyet Java-ban hoztak létre.

A Java API nagyon kiterjedt, olyan osztályokat tartalmaz, amelyek szinte az összes programozási feladatot elvégezhetik az adatstruktúra-manipulációtól kezdve a hálózatépítésig. Gyakrabban API-fájlokat fog használni a kódban. Itt láthatja az API dokumentációját.

érdekes cikkek...