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,
- Osztály csomagba helyezéséhez a kód első sorában adja meg a p1 csomagot
- Hozzon létre egy c1 osztályt
- Olyan m1 módszer meghatározása, amely egy vonalat nyomtat.
- A fő módszer meghatározása
- A c1 osztályú objektum létrehozása
- 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.