Különbség a Java csomagok és interfészek között

Szerző: Laura McKinney
A Teremtés Dátuma: 2 Április 2021
Frissítés Dátuma: 3 Lehet 2024
Anonim
Különbség a Java csomagok és interfészek között - Technológia
Különbség a Java csomagok és interfészek között - Technológia

Tartalom


Mind a csomagok, mind az interfészek konténerként működnek. A csomagokban és az interfészekben található tartalmakat az osztályok felhasználhatják a megfelelő importálás és végrehajtás alapján. Az alapvető különbség a csomagok és az interfészek között az, hogy a csomag osztályok és interfészek csoportját tartalmazza, míg egy interfész metódusokat és mezőket tartalmaz. Vizsgáljuk meg néhány más különbséget az összehasonlító diagram segítségével.

  1. Összehasonlító táblázat
  2. Meghatározás
  3. Főbb különbségek
  4. Következtetés

Összehasonlító táblázat

Az összehasonlítás alapjacsomagokinterfészek
AlapvetőA csomagok osztályok és / vagy interfészek csoportját alkotják.Az interfészek absztrakt módszerek és állandó mezők csoportja.
KulcsszóA csomagok a "Csomag" kulcsszóval készülnek.Az interfész "Interface" kulcsszóval jön létre.
Szintaxiscsomag csomag_neve;
nyilvános osztály osztálynév {
.
(osztálytest)
.
}
felület felület_neve {
változó nyilatkozat;
módszernyilatkozat;
}
HozzáférésCsomag importálható Az interfész kibővíthető egy másik felülettel, és az osztály végrehajthatja.
Hozzáférés a kulcsszóhoz A csomagok az "import" kulcsszóval importálhatók.Az interfészek "implement" kulcsszóval valósíthatók meg.


A csomagok meghatározása

A csomagok különféle osztályok és interfészek gyűjteményei vagy csoportjai. A csomagokban szereplő osztályok bizonyos mértékben vagy öröklés útján kapcsolódnak egymáshoz. Készítheti a csomagot is, és felhasználhatja a programra.

Csomag létrehozása

Csomag létrehozásához kövesse az alábbi lépéseket.

  1. Nyisson meg egy fájlt, majd deklarálja a csomag nevét a fájl tetején, például a csomagnév a csomagnak adni kívánt név.
  2. Ezután meghatározza az osztályt, amelyet a csomagba szeretne helyezni, és ne feledje, hogy nyilvánosnak nyilvánítja.
  3. Mentse el a fájlt .java fájlként, majd fordítsa le a fájlt, majd a .class megkapja a fájlt.
  4. Csomag létrehozásához ehhez a fájlhoz a javac -d parancsot kell használni. file_name.java. Láthatja, hogy a csomag „.class” fájlt tartalmazó aktuális könyvtárban készült. A szülőkönyvtárba való beillesztéshez használja a „javac -d” -t. . fájlnév.java ”parancsot.
  5. Alcsoportokat is létrehozhat úgy, hogy az alcsomag nevet a fájl tetején deklarálja.

Mypackage csomag; nyilvános osztályú myclass {public void displayMypackage () {system.out.ln ("módszer displayMypackage a Mypackage csomag Myclass osztályához"); }

A csomag használata


A könyvtárban létrehozott vagy elérhető csomagok az import utasítás használatával felhasználhatók a programban. A program bármely csomagjának importálásához használt kulcsszó az „import”. Az importálási nyilatkozat kétféleképpen írható, vagy mondhatjuk, hogy kétféle módon is elérhetik bármelyik csomagot. Először, ha egy adott osztályt akar használni egy csomagból, akkor az “importálás” kulcsszót a csomagnév, majd a pontkezelő, majd a csomagkezelőből használni kívánt osztálynév követi. Másodszor, ha sok olyan osztályt szeretne használni, amely a csomagokban található, akkor az importálási kulcsszót a csomagnév, majd a pont és a „*” operátor követi.

import csomag_neve. osztály név; vagy importálja a csomag_nevet. *;

A fenti kódban a * jel látható, amely azt jelzi, hogy a második módszer a csomagok összes osztályát importálja.

Nézzük meg például a csomag használatát.

import Mypackage. myclass {class TestMypackage {public static void main (karakterláncok) {myclass ob1 = new myclass (); ob1.displayMypackage (); }} // megjelenítési módszer displayMypackage a Mypackage csomag osztálykategóriája.

A fenti kódban a TestMypackage osztály importálta a Mypackage csomagot, és a displayMypackage () módszert használta.

Az interfész meghatározása

Az interfész egyfajta osztály, de abban különbözik abban az értelemben, hogy a felületen deklarált módszerek elvontak, azaz a módszereket csak deklarálják, de nem határozzák meg. Az interfész mezői mindig nyilvános, statikus, végleges. A mezőket a deklaráláskor inicializálni kell. Az interfész által deklarált módszereket az az osztály határozza meg, amely az interfészt a követelményei szerint megvalósítja. Mivel a felületen lévő módszerek nem végeznek semmilyen funkciót, ezért nincs szükség a felület bármely objektumának létrehozására. Ezért nem hozható létre objektum az interfészhez.

Az interfész örökölheti a másik interfészt is, de az ilyen interfészt örökösítő osztálynak az örökölt interfész összes módszerét is végre kell hajtania. Mivel a mezők inicializálása a felületen való deklarálásuk időpontjában történik, így nincs szükség konstruktorra az interfészen, ezért a felület nem tartalmaz konstruktort. Lássuk a felület létrehozásának és használatának példáját.

interfész területe {úszó pi = 3,14; float find_area (float a, float b) {} osztály Kör végrehajtja Terület {float find_area (float a, float b) {return (pi * a * a); } Osztályalakok {nyilvános statikus void main (karakterláncok) {A terület = új terület (); C kör = új kör (); A = C; úszó F = terület. find_area (10,10); system.out.ln ("A kör területe:" + F); }

A fenti kódban létrehoztunk egy interfész területet, és a Circle osztály megvalósította az interfészt. A „pi” mezőt deklarálásának időpontjában inicializálták az interfészen. Az osztálykör meghatározta az osztályterület elvont módszerét az igénye szerint.

  1. A csomag osztályok és interfészek csoportja, míg a felület absztrakt módszerek csoportja.
  2. A csomagot kulcsszóval hozzák létre csomag míg egy felületet egy kulcsszó segítségével hoznak létre felület.
  3. Ha a csomag belsejében egy osztályt vagy interfészt kell használni, akkor az importálni kívánt csomagot az interfész végrehajtásakor kell használni.

Következtetés:

Mind a csomagok, mind az interfész tartályok. A csomag csökkenti a kód méretét, mivel csak a használni kívánt osztályt importáljuk, ahelyett, hogy újra meghatároznánk.Míg a felület csökkenti a több öröklés során bekövetkező zavarokat, mivel több öröklés esetén az öröklési osztálynak nem kell eldöntenie, hogy melyik módszernek kell örökölnie, hanem a sajátját határozza meg.