Rozdíl mezi balíčky a rozhraními v Javě

Autor: Laura McKinney
Datum Vytvoření: 2 Duben 2021
Datum Aktualizace: 5 Smět 2024
Anonim
Rozdíl mezi balíčky a rozhraními v Javě - Technologie
Rozdíl mezi balíčky a rozhraními v Javě - Technologie

Obsah


Balíčky i rozhraní fungují jako kontejner. Obsah v balíčcích a rozhraních mohou třídy použít importem a implementací odpovídajícím způsobem. Základní rozdíl mezi balíčky a rozhraními je v tom, že balíček obsahuje skupinu tříd a rozhraní, zatímco rozhraní obsahuje metody a pole. Podívejme se na další rozdíly pomocí srovnávací tabulky.

  1. Srovnávací tabulka
  2. Definice
  3. Klíčové rozdíly
  4. Závěr

Srovnávací tabulka

Základ pro srovnáníBalíčkyRozhraní
ZákladníBalíčky je skupina tříd a / nebo rozhraní společně.Rozhraní je skupina abstraktních metod a konstantních polí.
Klíčové slovoBalíčky jsou vytvářeny pomocí klíčového slova „Package“.Rozhraní se vytváří pomocí klíčového slova „Rozhraní“.
Syntaxpackage package_name;
public class class_name {
.
(tělo třídy)
.
}
interface interface_name {
variabilní deklarace;
deklarace metody;
}
PřístupBalíček lze importovat Rozhraní lze rozšířit o jiné rozhraní a implementovat třídou.
Přístup k klíčovému slovu Balíčky lze importovat pomocí klíčového slova „import“.Rozhraní lze implementovat pomocí klíčového slova „implementovat“.


Definice balíčků

Balíčky jsou kolekce nebo skupiny různých tříd a rozhraní. Třídy v balíčcích spolu navzájem souvisí v určitém rozsahu nebo dědičností. Můžete také vytvořit svůj balíček a použít jej pro svůj program.

Vytvoření balíčku

Při vytváření balíčku postupujte podle následujících kroků.

  1. Otevřete soubor a poté deklarujte název balíčku v horní části souboru, například název balíčku je název, který chcete tomuto balíčku dát.
  2. Dále definujete třídu, kterou chcete do balíčku vložit, a pamatujete, že ji deklarujete jako veřejnou.
  3. Uložte soubor jako soubor .java a poté jej zkompilujte a pro tento soubor se získá „.class“.
  4. Pro vytvoření balíčku pro tento soubor je použit příkaz „javac -d. file_name.java. Můžete vidět, že balíček je vytvořen obsahující soubor „.class“ v aktuálním adresáři. Chcete-li jej umístit do nadřazeného adresáře, použijte „javac -d. . file_name.java ”.
  5. Můžete také vytvořit dílčí balíček deklarováním názvu dílčího balíčku jako v horní části souboru.

balíček Mypackage; public class myclass {public void displayMypackage () {system.out.ln ("method displayMypackage třídy myclass balíčku Mypackage"); }

Používání balíčku


Balíčky vytvořené nebo dostupné v adresáři lze v programu použít pomocí příkazu import. Klíčovým slovem použitým k importu jakéhokoli balíčku v programu je „import“. Příkaz importu lze napsat dvěma způsoby, nebo můžete říci, že existují dva způsoby přístupu k jakémukoli balíčku. Nejprve, pokud chcete použít konkrétní třídu z balíčku, za klíčovým slovem „import“ následuje název balíčku, dále operátor tečky a název třídy, který chcete z balíčku použít. Zadruhé, pokud chcete použít mnoho tříd obsažených v balíčcích, pak za klíčovým slovem importu následuje název balíčku dále následovaný tečkou a operátorem „*“.

import package_name. jméno třídy; nebo importovat název_balíku. *;

Ve výše uvedeném kódu vidíte znak *, který označuje, že druhá metoda importuje všechny třídy obsažené v balíčcích.

Nyní si ukážeme použití balíčku s příkladem.

import Mypackage. myclass {class TestMypackage {public static void main (string args) {myclass ob1 = new myclass (); ob1.displayMypackage (); }} // output method displayMypackage třídy myclass balíčku Mypackage.

Ve výše uvedeném kódu třída TestMypackage importovala balíček Mypackage a použila metodu displayMypackage ().

Definice rozhraní

Rozhraní je druh třídy, ale liší se v tom smyslu, že metody deklarované v rozhraní jsou abstraktní, což znamená, že metody jsou deklarovány, ale nejsou definovány. Pole v rozhraní jsou vždy veřejná, statická, konečná. Pole musí být inicializována v době prohlášení. Metody deklarované rozhraním jsou definovány třídou, která implementuje toto rozhraní podle jeho požadavku. Protože metody v rozhraní nevykonávají žádnou funkci, není tedy možné vytvářet žádný objekt rozhraní. Z tohoto důvodu nelze pro rozhraní vytvořit žádný objekt.

Rozhraní může také zdědit druhé rozhraní, ale třída zděděná takovým rozhraním musí také implementovat všechny metody zděděného rozhraní. Protože jsou pole inicializována v okamžiku jejich deklarace v rozhraní, takže v rozhraní není potřeba konstruktor, rozhraní neobsahuje žádný konstruktor. Podívejme se na příklad vytváření a používání rozhraní.

plocha rozhraní {float pi = 3,14; float find_area (float a, float b) {} třída Circle implementuje Area {float find_area (float a, float b) {return (pi * a * a); } Tvary tříd {public static void main (řetězcové args) {Area A = new Area (); Kruh C = nový kruh (); A = C; float F = plocha. find_area (10,10); system.out.ln ("Oblast kruhu je:" + F); }

Ve výše uvedeném kódu jsme vytvořili oblast rozhraní a třída Circle implementovala oblast rozhraní. Pole „pi“ bylo inicializováno v rozhraní v době jeho deklarace. Třída Circle definovala abstraktní metodu oblasti třídy podle jejího požadavku.

  1. Balíček je skupina tříd a rozhraní společně, zatímco rozhraní je skupina abstraktních metod.
  2. Balíček je vytvořen pomocí klíčového slova balík zatímco rozhraní je vytvořeno pomocí klíčového slova rozhraní.
  3. Pokud má být použita třída nebo rozhraní uvnitř balíčku, musí být importován balíček, zatímco rozhraní musí být implementováno.

Závěr:

Oba balíčky a rozhraní jsou kontejnery. Balíček zmenší velikost kódu, protože právě importujeme třídu, která se má použít, místo aby ji znovu definovali.Vzhledem k tomu, že rozhraní snižuje záměny, k nimž došlo při vícenásobném dědictví, protože v případě vícenásobného dědictví třída dědičnosti nerozhoduje o tom, jakou definici metody by měla zdědit, místo toho definuje svou vlastní.