Balíčky v Javě: Jak vytvářet a používat balíčky v Javě?



Tento příspěvek o balíčcích v Javě vám pomůže pochopit, co jsou balíčky, jak je vytvářet a používat v Javě, aby byli efektivní programátoři Java.

Jeden z nejvíce inovativních je koncept balíčků.Balíčky v Javě jsou způsob, jak zapouzdřit skupinu tříd, rozhraní, výčty, anotace a dílčí balíčky. Koncepčně si můžete představit balíčky Java jako podobné různým složkám v počítači. V tomto kurzu se budeme zabývat základy balíčků v

Níže jsou uvedena témata zahrnutá v tomto článku:





Co je balíček v Javě?

Balíček Java je mechanismus seskupování podobných typů tříd, rozhraní a podtříd společně na základě funkčnosti. Když je software napsán v , může se skládat ze stovek nebo dokonce tisíců jednotlivých tříd. JáDává smysl udržovat věci uspořádané umístěním souvisejících tříd a rozhraní do balíčků.

Používání balíčků při kódování nabízí mnoho výhod, jako například:



co dělá bufferedreader v java
    • Opakovaná použitelnost: Třídy obsažené v balíčcích jiného programu lze snadno znovu použít
    • Konflikty jmen: Balíčkypomozte nám jednoznačně určit třídu, jakou můžeme mít společnost. prodej. Zaměstnanec a společnost. marketing. zaměstnanec třídy
    • Řízený přístup: Nabídky ochrana přístupu jako protované třídy, výchozí třídy a soukromá třída
    • Zapouzdření dat : Oni strrovide způsob, jak skrýt třídy, brání ostatním programům v přístupu ke třídám, které jsou určeny pouze pro interní použití
    • Údržba: S balíčky,můžete svůj projekt lépe uspořádat a snadno vyhledat související třídy

Je dobrým zvykem používat balíčky při kódování v Javě. Jako programátor můžetesnadno zjistit , rozhraní, výčty a anotace, které spolu souvisejí. V Javě máme dva typy balíčků.

Typy balíčků v Javě

Na základě toho, zda je balíček definován uživatelem nebo ne, jsou balíčky rozděleny do dvou kategorií:

  1. Integrované balíčky
  2. Uživatelem definované balíčky

Integrované balíčky

Integrované balíčky nebo předdefinované balíčky jsou ty, které přicházejí jako součást (Java Development Kit) pro zjednodušení úlohy programátora Java. Skládají se z velkého počtu předdefinovaných tříd a rozhraní, která jsou součástí rozhraní Java API. Mezi běžně používané integrované balíčky patří java.lang, java.io, java.util, java.applet atd. Zde je jednoduchý program využívající integrovaný balíček.



balíček Edureka import java.util.ArrayList třída BuiltInPackage {public static void main (String [] args) {ArrayList myList = new ArrayList (3) myList.add (3) myList.add (2) myList.add (1) System. out.println ('Prvky seznamu jsou:' + myList)}}

Výstup:

Prvky seznamu jsou: [3, 2, 1]

Třída ArrayList patří do balíčku java.util. Abychom jej mohli použít, musíme balíček importovat pomocí příkazu import. První řádek kódu importovat java.util.ArrayList importuje balíček java.util a použije jej který je přítomen v dílčím balíčku util.

Uživatelem definované balíčky

Uživatelsky definované balíčky jsou ty, které jsou vyvíjeny uživateli za účelem seskupení souvisejících tříd, rozhraní a dílčích balíčků. S pomocí ukázkového programu se podívejme, jak vytvářet balíčky, kompilovat programy Java uvnitř balíčků a provádět je.

Vytvoření balíčku v Javě

Vytvoření balíčku v Javě je velmi snadný úkol. Vyberte název balíčku a uveďte a balík příkaz jako první příkaz ve zdrojovém souboru Java. Zdrojový soubor Java může obsahovat třídy, rozhraní, výčty a typy anotací, které chcete zahrnout do balíčku.Například následující příkaz vytvoří balíček s názvem Můj balíček.

balíček MyPackage

Příkaz package jednoduše určuje, ke kterému balíčku patří definované třídy.

Poznámka: Pokud vynecháte příkaz balíček, názvy tříd se vloží do výchozího balíčku, který nemá žádný název. I když je výchozí balíček vhodný pro krátké programy, pro skutečné aplikace je nedostatečný.

Včetně třídy v balíčku Java

Navytvořte třídu uvnitř balíčku, měli bystedeklarujte název balíčku jako první příkaz vašeho programu. Potom zahrňte třídu jako součást balíčku. Nezapomeňte však, že třída může mít pouze jednu deklaraci balíčku. Tady je jednoduchý program k pochopení konceptu.

balíček MyPackage veřejná třída Porovnat {int num1, num2 Porovnat (int n, int m) {num1 = n num2 = m} public void getmax () {if (num1> num2) {System.out.println ('Maximální hodnota dvou numbers is '+ num1)} else {System.out.println (' Maximum value of two numbers is '+ num2)}} public static void main (String args []) {Compare current [] = new Compare [3] current [1] = nový Porovnat (5, 10) aktuální [2] = nový Porovnat (123, 120) pro (int i = 1 i<3 i++) { current[i].getmax() } } } 

Výstup:

Maximální hodnota dvou čísel je 10 Maximální hodnota dvou čísel je 123

Jak vidíte, deklaroval jsem balíček s názvem MyPackage a uvnitř tohoto balíčku jsem vytvořil třídu Compare. Java používá adresáře systému souborů k ukládání balíků. Takže tento program by byl uložen do souboru jako Porovnat.java a budou uloženy v adresáři s názvem MyPackage. Když bude soubor kompilován, Java vytvoří a .třída soubor a uložte jej do stejného adresáře. Pamatujte, že název balíčku musí být stejný jako adresář, pod kterým je tento soubor uložen.

Možná vás zajímá, jak použít tuto třídu Porovnání ze třídy v jiném balíčku?

Vytváření třídy uvnitř balíčku při importu dalšího balíčku

Je to docela jednoduché. Musíte to jen importovat. Jakmile je importován, máte k němu přístup podle jeho názvu. Tady je ukázkový program demonstrující koncept.

balíček Edureka import MyPackage.Compare veřejná třída Demo {public static void main (String args []) {int n = 10, m = 10 Porovnat aktuální = nový Porovnat (n, m) if (n! = m) {current.getmax ()} else {System.out.println ('Obě hodnoty jsou stejné')}}}

Výstup:

Obě hodnoty jsou stejné

Nejprve jsem deklaroval balíček Edureka , pak importoval třídu Porovnat z balíčku MyPackage. Takže pořadíkdyž vytváříme třídu uvnitř balíčku a importujeme další balíček,

  • Prohlášení o balíčku
  • Import balíčku

Pokud nechcete použít příkaz import, existuje další alternativa pro přístup k souboru třídy balíčku z jiného balíčku. Při importu stačí použít plně kvalifikovaný název .

Při importu třídy používat plně kvalifikovaný název

Zde je příklad pro pochopení konceptu. Budu používat stejný balíček, který jsem deklaroval dříve v blogu, Můj balíček .

balíček Edureka veřejná třída Demo {public static void main (String args []) {int n = 10, m = 11 // Použití plně kvalifikovaného názvu namísto importu MyPackage.Compare current = new MyPackage.Compare (n, m) if ( n! = m) {current.getmax ()} else {System.out.println ('Obě hodnoty jsou stejné')}}}

Výstup:

Maximální hodnota dvou čísel je 11

Ve třídě Demo jsem místo importu balíčku použil plně kvalifikovaný název, například MyPackage.Comparare vytvořit jeho objekt. Jelikož mluvíme o importu balíčků, můžete si také prohlédnout koncept statického importu v Javě.

Statický import v Javě

V roce byla zavedena funkce statického importu od verze 5. Programátorovi Java usnadňuje přístup ke všem statickým položkámčlen třídy přímo bez použití plně kvalifikovaného názvu.

balíček MyPackage import statický java.lang.Math. * // statický import import statický java.lang.System. * // statický import veřejná třída StaticImportDemo {public static void main (String args []) {double val = 64,0 double sqroot = sqrt (val) // Přímý přístup k metodě sqrt (). println ('Sq. root' + val + 'je' + sqroot) // Nepotřebujeme používat 'System.out}}
 Výstup: 
Čt. kořen 64,0 je 8,0

Ačkoli použití statického importu zahrnuje méně kódování, jeho nadměrné použití může způsobit, že bude program nečitelný a neudržitelný. Nyní přejdeme k dalšímu tématu, řízení přístupu v balíčcích.

Ochrana přístupu v balíčcích Java

Možná víte o různých aspektech mechanismu řízení přístupu Java a jeho specifikátory přístupu . Balíčky v Javě přidávají další dimenzi řízení přístupu. Jak třídy, tak balíčky jsou prostředkem zapouzdření dat . Zatímco balíčky fungují jako kontejnery pro třídy a další podřízené balíčky, třídy fungují jako kontejnery pro data a kód. Kvůli této souhře mezi balíčky a třídami balíčky Java řeší čtyři kategorie viditelnosti pro členy třídy:

  • Podtřídy ve stejném balíčku
  • Non podtřídy ve stejném balíčku
  • Podtřídy v různých balíčcích
  • Třídy, které nejsou ve stejném balíčku ani podtřídách

Níže uvedená tabulka uvádí areálný obrázek o tom, jaký typ přístupu je možný a který ne při použití balíčků v Javě:

Soukromé Žádný modifikátor Chráněný Veřejnost

Stejná třída

jak třídit čísla v C ++

Ano

Ano

Ano

Ano

Stejné podtřídy balíčků

Ne

Ano

Ano

Ano

Stejné podtřídy balíčku

Ne

Ano

Ano

Ano

Různé podtřídy balíků

Ne

Ne

Ano

Ano

Různé balíčky bez podtříd

Ne

Ne

Ne

Ano

Data ve výše uvedené tabulce můžeme zjednodušit takto:

  1. Ze všeho, co je prohlášeno za veřejné, lze přistupovat odkudkoli
  2. Cokoli prohlášené za soukromé lze vidět pouze v této třídě
  3. Pokud není uveden specifikátor přístupu, prvek je viditelný pro podtřídy i pro jiné třídy ve stejném balíčku
  4. Nakonec vše, co je deklarováno jako chráněný prvek, lze vidět mimo váš aktuální balíček, ale pouze do tříd, které přímo podtřídu vaší třídy

Tímto způsobem poskytují balíčky Java řízení přístupu do tříd. Tím je zabalen koncept balíčků v Javě. Zde je několik bodů, které byste měli mít na paměti při používání balíčků v .

Body k zapamatování

  • Každá třída je součástí nějakého balíčku. Pokud vynecháte příkaz balíček, názvy tříd se vloží do výchozího balíčku
  • Třída může mít pouze jeden výpis z balíčku, ale může mít více než jeden výpis z balíčku
  • Název balíčku musí být stejný jako adresář, pod kterým je soubor uložen
  • Při importu jiného balíčku musí být první prohlášení deklarace balíku, následovaná importem balíčku

Tím se dostáváme na konec tohoto článku „Balíčky v Javě“. Naučili jsme seco je to balíček a proč bychom je měli používat. Není pochyb o tom, že balíček Java je jednou z nejdůležitějších částí pro efektivní programátory Java. Nejen, že upgraduje programovací styl programátoru, ale také snižuje spoustu další práce.

Pokud jste našli tento článek na téma „Balíčky v Javě“, podívejte se na Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů po celém světě. Jsme tu, abychom vám pomohli s každým krokem na vaší cestě, abychom se kromě otázek týkajících se tohoto rozhovoru pro javu stali i učebním plánem, který je určen pro studenty a profesionály, kteří chtějí být vývojářem v jazyce Java.