Az egyik leginnovatívabb a csomagok fogalma.A Java csomagok az osztályok, interfészek, felsorolások, annotációk és alcsomagok csoportjának beillesztését szolgálják. Fogalmilag úgy gondolhatja, hogy a java csomagok hasonlóak a számítógép különböző mappáihoz. Ebben az oktatóanyagban bemutatjuk a csomagok alapjait
Az alábbiakban felsoroljuk a cikk témáit:
- Mi a csomag a Java-ban?
- Beépített csomagok
- Felhasználó által definiált csomagok
- Statikus importálás Java-ban
- Hozzáférés-védelem Java csomagokban
- Emlékezetes pontok
Mi a csomag a Java-ban?
A Java csomag a hasonló típusú osztályok, interfészek és alosztályok funkcionalitás alapján történő csoportosításának mechanizmusa. Amikor a szoftver be van írva a , több száz vagy akár több ezer egyedi osztályból állhat. énVan értelme a dolgokat úgy szervezni, hogy a kapcsolódó osztályokat és interfészeket csomagokba helyezzük.
A csomagok kódolás közbeni használata számos előnnyel jár, például:
- Újrahasználhatóság: Egy másik program csomagjaiban található osztályok könnyen felhasználhatók
- Névütközések: CsomagokSegítsen nekünk például egy osztály egyedi azonosításában cég.eladások.Munkavállaló és cég.marketing.Munkavállaló osztályok
- Ellenőrzött hozzáférés: Ajánlatok hozzáférés védelme mint plrotált osztályok, alapértelmezett osztályok és privát osztályok
- Adatok beágyazása : Ők pelősegíti az osztályok elrejtésének módját, megakadályozva, hogy más programok hozzáférjenek a csak belső használatra szánt osztályokhoz
- Karbantartás: Csomagokkal,jobban megszervezheti projektjét, és könnyedén megkeresheti a kapcsolódó osztályokat
Jó gyakorlat a csomagok használata Java kódolás közben. Programozóként megtehetikönnyen kitalálhatja a , interfészek, felsorolások és kapcsolódó megjegyzések. Kétféle csomagunk van a java-ban.
Csomagok típusai a Java-ban
A csomagok két kategóriára oszthatók annak alapján, hogy a csomagot a felhasználó határozta-e meg vagy sem.
- Beépített csomagok
- Felhasználó által definiált csomagok
Beépített csomagok
Beépített vagy előre definiált csomagok azok, amelyek részeként jönnek létre (Java Development Kit) a Java programozó feladatának egyszerűsítése érdekében. Hatalmas számú előre definiált osztályból és interfészből állnak, amelyek a Java API-k részét képezik. Néhány gyakran használt beépített csomag a java.lang, java.io, java.util, java.applet stb. Itt van egy egyszerű program beépített csomag használatával.
package Edureka import java.util.ArrayList class BuiltInPackage {public static void main (String [] args) {ArrayList myList = new ArrayList (3) myList.add (3) myList.add (2) myList.add (1) System. out.println ('A lista elemei:' + myList)}}
Kimenet:
A lista elemei a következők: [3, 2, 1]
Az ArrayList osztály a java.util csomaghoz tartozik. A használatához az import utasítás használatával kell importálnunk a csomagot. A kód első sora importálja a java.util.ArrayList importálja a java.util csomagot és felhasználja amely jelen van az alcsomagban util.
Felhasználó által definiált csomagok
A felhasználó által definiált csomagok azok, amelyeket a felhasználók a kapcsolódó osztályok, interfészek és alcsomagok csoportosítása céljából fejlesztettek ki. Egy példa program segítségével nézzük meg, hogyan lehet csomagokat létrehozni, Java programokat fordítani a csomagok belsejében és végrehajtani.
Csomag létrehozása Java-ban
Csomag létrehozása Java-ban nagyon egyszerű feladat. Válasszon nevet a csomagnak, és írja be a csomag parancsot a Java forrásfájl első utasításaként. A java forrásfájl tartalmazhatja azokat az osztályokat, interfészeket, felsorolásokat és kommentár típusokat, amelyeket fel akar venni a csomagba.Például az alábbi utasítás létrehoz egy nevű csomagot MyPackage.
csomag MyPackage
A package utasítás egyszerűen meghatározza, hogy a megadott osztályok melyik csomaghoz tartoznak.
Jegyzet: Ha kihagyja a csomag utasítást, akkor az osztálynevek az alapértelmezett csomagba kerülnek, amelynek nincs neve. Bár az alapértelmezett csomag megfelel a rövid programok számára, a valós alkalmazásokhoz nem megfelelő.
Osztályt tartalmaz a Java csomagban
Nak nekhozzon létre egy osztályt a csomag belsejében, meg kelldeklarálja a csomag nevét a program első utasításaként. Ezután vegye fel az osztályt a csomag részeként. De ne feledje, hogy egy osztálynak csak egy csomagdeklarációja lehet. Itt van egy egyszerű program a koncepció megértéséhez.
csomag MyPackage public class Összehasonlítás {int num1, num2 Összehasonlítás (int n, int m) {num1 = n num2 = m} public void getmax () {if (num1> num2) {System.out.println ('Kettő maximális értéke a számok '+ num1)} else {System.out.println (' Két szám maximális értéke '+ num2)}} public static void main (String args []) {Current current [] = new [3] current összehasonlítása [1] = új (5, 10) összehasonlítás [2] = új (123, 120) összehasonlítás (int i = 1 i)<3 i++) { current[i].getmax() } } }
Kimenet:
keresztböngésző tesztelés szelén web meghajtóban
Két szám maximális értéke 10 Két szám maximális értéke 123
Mint láthatja, deklaráltam egy MyPackage nevű csomagot, és létrehoztam egy összehasonlító osztályt a csomag belsejében. A Java fájlrendszer-könyvtárakat használ a csomagok tárolására. Tehát ezt a programot fájlként mentenék el Hasonlítsa össze.java és a MyPackage nevű könyvtárba kerül. Amikor a fájl összeáll, a Java létrehoz egy .osztály fájlt, és tárolja ugyanabban a könyvtárban. Ne feledje, hogy a csomag nevének meg kell egyeznie azzal a könyvtárral, amelybe a fájlt mentették.
Kíváncsi lehet, hogyan lehet használni ezt az összehasonlítási osztályt egy másik csomag osztályából?
Osztály létrehozása a csomag belsejében egy másik csomag importálása közben
Nos, ez nagyon egyszerű. Csak importálnia kell. Az importálás után a nevével férhet hozzá. Itt van egy minta program, amely bemutatja a koncepciót.
csomag Edureka MyPackage importálása. Hasonlítsa össze a nyilvános osztály Demo {public static void main (String args []) {int n = 10, m = 10 Összehasonlítás current = new Összehasonlítás (n, m) if (n! = m) {current.getmax ()} else {System.out.println ('Mindkét érték megegyezik')}}}
Kimenet:
Mindkét érték ugyanaz
Először deklaráltam a csomagot Edureka , majd importálta az osztályt Hasonlítsa össze a MyPackage csomagból. Szóval, a sorrendamikor egy osztályt hozunk létre egy csomag belsejében, miközben egy másik csomagot importálunk,
- Csomagnyilatkozat
- Csomag importálása
Nos, ha nem akarja használni az importálási utasítást, van egy másik alternatíva a csomag osztályfájljának eléréséhez egy másik csomagból. Csak importálhatja a teljesen minősített nevet a .
Teljesen minősített név használata osztály importálása közben
Itt van egy példa a koncepció megértésére. Ugyanazt a csomagot fogom használni, amelyet korábban a blogban deklaráltam, MyPackage .
csomag Edureka public class Demo {public static void main (String args []) {int n = 10, m = 11 // Teljes minősítésű név használata a MyPackage importálása helyett. Hasonlítsa össze a current = new MyPackage.Compare (n, m) if ( n! = m) {current.getmax ()} else {System.out.println ('Mindkét érték megegyezik')}}}
Kimenet:
Két szám maximális értéke 11
A Demo osztályban a csomag importálása helyett a teljesen minősített nevet használtam, mint pl MyPackage.Compare hogy létrehozza annak tárgyát. Mivel csomagok importálásáról van szó, érdemes megnézni a statikus import fogalmát a Java-ban.
Statikus importálás Java-ban
A statikus import funkciót 2007 - ben vezették be Az 5. verziótól kezdve megkönnyíti a Java programozó számára, hogy bármilyen statikushoz hozzáférjenegy osztály tagja közvetlenül a teljesen minősített név használata nélkül.
MyPackage import static java.lang.Math. * // static import import static java.lang.System. * // static import public class StaticImportDemo {public static void main (String args []) {double val = 64.0 double sqroot = sqrt (val) // Az sqrt () metódus elérése közvetlenül out.println ('A' + val + 'Sq. gyökere' + sqroot) // Nem kell használnunk a 'System.out}}
Kimenet:
Sq. A 64.0 gyökere 8.0
Bár a statikus import használata kevesebb kódolást igényel, a túlzott használata a programot olvashatatlanná és fenntarthatatlanná teheti. Most térjünk át a következő témára, a csomagok beléptetésének ellenőrzésére.
Hozzáférés-védelem Java csomagokban
Lehet, hogy tisztában van a Java hozzáférés-szabályozási mechanizmusának és annak különböző szempontjaival hozzáférési specifikátorok . A Java-csomagok újabb dimenziót adnak a hozzáférés-vezérléshez. Az osztályok és a csomagok is eszközei adatok beágyazása . Míg a csomagok osztályok és más alárendelt csomagok tárolóként működnek, addig az osztályok az adatok és a kód tárolóként szolgálnak. A csomagok és az osztályok közötti kölcsönhatás miatt a Java csomagok négy láthatósági kategóriát foglalkoznak az osztály tagjai számára:
- Alosztályok ugyanabban a csomagban
- Nem alosztályok ugyanabban a csomagban
- Alosztályok különböző csomagokban
- Osztályok, amelyek sem ugyanabban a csomagban, sem alosztályokban nincsenek
Az alábbi táblázat avalós kép arról, hogy milyen típusú hozzáférés lehetséges és melyik nem, ha csomagokat használunk a Java-ban:
Magán | Nincs módosító | Védett | Nyilvános | |
Ugyanabba az osztályba | Igen | Igen | Igen | Igen |
Ugyanaz a csomag alosztályai | Nem | Igen | Igen | Igen |
Ugyanaz a csomag nem alosztályok | Nem | Igen | Igen | Igen |
Különböző csomagok alosztályai | Nem | Nem | Igen | Igen |
Különböző csomagok, nem alosztályok | Nem | Nem | Nem | Igen |
A fenti táblázatban szereplő adatokat az alábbiak szerint egyszerűsíthetjük:
- Minden nyilvánosnak nyilvánított bárhonnan hozzáférhető
- A privátnak nyilvánított dolgok csak az adott osztályon belül láthatók
- Ha a hozzáférés-specifikáló nem szerepel, akkor egy elem látható lesz az alosztályok és az ugyanazon csomag többi osztálya számára
- Végül, minden deklarált védett elem látható az aktuális csomagon kívül, de csak azoknak az osztályoknak, amelyek közvetlenül az Ön osztályát osztják be
Így a Java csomagok hozzáférés-vezérlést biztosítanak az osztályok számára. Nos, ez felöleli a csomagok fogalmát a Java-ban. Íme néhány szempont, amelyet érdemes szem előtt tartania a csomagok használatakor .
Emlékezetes pontok
- Minden osztály része valamilyen csomagnak. Ha kihagyja a csomag utasítást, akkor az osztálynevek az alapértelmezett csomagba kerülnek
- Egy osztálynak csak egy csomagkivonata lehet, de több importálási utasítás is lehet
- A csomag nevének meg kell egyeznie azzal a könyvtárral, amelybe a fájlt mentették
- Egy másik csomag importálásakor a csomagdeklarációnak kell lennie az első utasításnak, amelyet a csomagimport követ
Nos, ezzel a „Csomagok a Java-ban” cikk végére érünk. Tanultunkmi az a csomag, és miért kell használnunk őket. Kétségtelen, hogy a Java csomag a hatékony java programozók egyik legfontosabb része. Nemcsak frissíti a programozó kódolási stílusát, hanem rengeteg további munkát is csökkent.
egy tömb javascript-hossza
Ha megtalálta ezt a cikket a „Csomagok a Java-ról”, nézze meg a az Edureka, egy megbízható online tanulási vállalat, amelynek több mint 250 000 elégedett tanulóval rendelkező hálózata elterjedt az egész világon. Azért vagyunk itt, hogy segítséget nyújthassunk utazásának minden lépésében, hogy e java interjúk kérdése mellett a tanévre váltsunk, előállítunk egy tananyagot, amelyet azoknak a hallgatóknak és szakembereknek tervezünk, akik Java fejlesztők szeretnének lenni.