Odporúčaná, 2024

Redakcia Choice

Rozdiel medzi balíčkami a rozhraniami v jazyku Java

Balíky a rozhrania fungujú ako kontajner. Obsahy v balíkoch a rozhraniach môžu triedy použiť tým, že ich importujú a implementujú zodpovedajúcim spôsobom. Základný rozdiel medzi balíčkami a rozhraniami spočíva v tom, že balík obsahuje skupinu tried a rozhraní, pričom rozhranie obsahuje metódy a polia. Pozrime sa na ďalšie rozdiely pomocou porovnávacieho grafu.

Porovnávacia tabuľka

Základ pre porovnaniebalíčkyrozhranie
základnéBalíky sú spoločne skupina tried a / alebo rozhraní.Rozhranie je skupina abstraktných metód a konštantných polí.
kľúčovéBalíky sa vytvárajú pomocou kľúčového slova "Package".Rozhranie sa vytvára pomocou kľúčového slova "Interface".
syntaxpackage_name;
verejná trieda class_name {
,
(telo triedy)
,
}
rozhranie interface_name {
prehlásenie o premenných;
deklarácia metódy;
}
prístupBalík je možné importovaťRozhranie môže byť rozšírené iným rozhraním a implementované triedou.
Prístupové kľúčové slovoBalíky je možné importovať pomocou kľúčového slova "import".Rozhrania je možné implementovať pomocou kľúčového slova "implementovať".

Definícia obalov

Balíky sú zbierky alebo skupiny rôznych tried a rozhraní. Triedy v balíkoch sú navzájom spojené v určitom rozsahu alebo dedičstvom. Môžete tiež vytvoriť svoj balík a použiť ho pre váš program.

Vytvorenie balíka

Ak chcete vytvoriť balík, postupujte podľa nasledujúcich krokov.

  1. Otvorte súbor a potom deklarujte názov balíka v hornej časti súboru, napríklad [package name_name; ] názov balíka je názov, ktorý chcete balíku dať.
  2. Ďalej definujete triedu, ktorú chcete vložiť do balíka, a nezabudnite, že ho vyhlasujete za verejnú.
  3. Uložte súbor ako súbor .java a potom kompilujte súbor, potom sa pre tento súbor získa ".class".
  4. Ak chcete vytvoriť balík pre tento súbor, použije sa príkaz "javac -d. file_name.java. Môžete vidieť, že balík je vytvorený obsahom súboru ".class" v aktuálnom adresári. Ak ho chcete umiestniť do nadradeného adresára, použite "javac -d., file_name.java ".
  5. Môžete tiež vytvoriť čiastkové balenie tým, že vyhlasujete názov subpackage ako [package name_name1. package_name2; ] v hornej časti súboru.
 package Mypackage; verejná trieda myclass {public void displayMypackage () {system.out.println ("zobrazenie metódyMypackage triedy myclass balíka Mypackage"); } 

Použitie balíka

Balíky vytvorené alebo dostupné v adresári môžu byť použité v programe pomocou výpisu importu. Kľúčové slovo použité na importovanie akéhokoľvek balíka vo vašom programe je "import". Príkaz na import možno napísať dvoma spôsobmi, alebo môžete povedať, že existujú dva spôsoby prístupu k akémukoľvek balíku. Po prvé, ak chcete používať určitú triedu z balíka, kľúčové slovo "import" je nasledované názvom balíka ďalej nasledovaným operátorom bodov a názvom triedy, ktorý chcete použiť z balíka. Po druhé, ak chcete použiť veľa tried, ktoré sú obsiahnuté v balíkoch, nasleduje kľúčové slovo pre import nasledované názvom balíka, za ktorým nasleduje bodka a operátor "*".

 import package_name. class_name; alebo importovať názov balíka. *; 

Vo vyššie uvedenom kóde môžete vidieť znak *, ktorý označuje, že druhá metóda importuje všetky triedy obsiahnuté v balíkoch.

Teraz sa pozrieme na použitie balíka s príkladom.

 import Mypackage. myclass {trieda TestMypackage {public static void main (reťazec args []) {myclass ob1 = new myclass (); ob1.displayMypackage (); }} // výstupná metóda zobrazuje balenie triedy myclass balíka Mypackage. 

Vo vyššie uvedenom kóde trieda TestMypackage importovala balík Mypackage a použila metódu displayMypackage ().

Definícia rozhrania

Rozhranie je druh triedy, ale v istom zmysle sa líši, že metódy deklarované v rozhraní sú abstraktné, čo znamená, že metódy sú iba deklarované, ale nie sú definované. Polia v rozhraní sú vždy verejné, statické, konečné. Polia musia byť inicializované v čase deklarácie. Metódy deklarované rozhraním sú definované triedou, ktorá implementuje toto rozhranie podľa jeho požiadaviek. Keďže metódy v rozhraní nevykonávajú žiadnu funkciu, tak nie je možné vytvoriť žiadny objekt rozhrania. Z tohto dôvodu sa pre rozhranie nemôže vytvoriť žiadny objekt.

Rozhranie môže tiež dediť ďalšie rozhranie, ale trieda, ktorá zdedí takéto rozhranie, musí tiež implementovať všetky metódy zdedeného rozhrania. Keďže polia sú inicializované v čase ich deklarovania v rozhraní, takže v rozhraní nie je potrebný konštruktor, preto rozhranie neobsahuje žiadneho konštruktora. Pozrime sa na príklad vytvorenia a používania rozhrania.

 rozhranie Plocha {float pi = 3, 14; float find_area (float a, float b) {} trieda Circle implements Area {float find_area (float a, float b) {return (pi * a * a); } Formy triedy {public static void main (reťazec args []) {Area A = new Area (); Kruh C = nový kruh (); A = C; float F = Plocha. find_area (10, 10); system.out.println ("Oblasť kruhu je:" + F); } 

Vo vyššie uvedenom kóde sme vytvorili oblasť rozhrania a trieda Circle implementovala oblasť rozhrania. Pole "pi" bolo inicializované v rozhraní v čase jeho vyhlásenia. Trieda Circle definovala abstraktnú metódu oblasti triedy podľa jej požiadaviek.

Kľúčové rozdiely medzi balíčkami a rozhraniami v jazyku Java

  1. Balík je skupina tried a rozhraní spolu, zatiaľ čo rozhranie je skupina abstraktných metód.
  2. Balík je vytvorený pomocou balíka kľúčových slov, rozhranie sa vytvára pomocou rozhrania kľúčového slova.
  3. Ak má byť použitá trieda alebo rozhranie vo vnútri balíka, balíček sa má importovať počas implementácie rozhrania.

záver:

Obe balíky a rozhranie sú kontajnery. Balík znižuje veľkosť kódu, pretože práve importujeme triedu, ktorá sa má použiť, namiesto opätovného definovania. Zatiaľ čo rozhranie znižuje zmätok, ku ktorým došlo počas viacerých dedičstiev, pretože v prípade viacerých dedičstiev dedičská trieda nerozhodla, že definícia metódy, ktorú by mala dediť, namiesto toho definuje jej vlastnú.

Top