Co je balíček v Javě?
PACKAGE in Java is a collection of classes, sub-packages, and interfaces. Pomáhá organizovat vaše třídy do struktury složek a usnadňuje jejich vyhledání a použití. Ještě důležitější je, že pomáhá zlepšit opětovnou použitelnost kódu.
Každý balíček v Javě má svůj jedinečný název a organizuje své třídy a rozhraní do samostatného jmenného prostoru nebo skupiny jmen.
I když se rozhraní a třídy se stejným názvem nemohou objevit ve stejném balíčku, mohou se objevit v různých balíčcích. To je možné přidělením samostatného jmenného prostoru každému balíčku Java.
Syntax:-
package nameOfPackage;
Následující video vás provede kroky vytvoření balíčku.
Pokud video není přístupné, klikněte sem
Podívejme se na balíček s příkladem. Definujeme třídu a objekt a později to sestavíme v našem balíčku p1. Po kompilaci spustíme kód jako balíček Java.
Jak vytvořit balíček?
Vytvoření balíčku je jednoduchý úkol následovně
- Vyberte název balíčku
- Zahrňte příkaz package jako první řádek kódu do zdrojového souboru Java.
- Zdrojový soubor obsahuje třídy, rozhraní atd., Které chcete do balíčku zahrnout
- Zkompilujte a vytvořte balíčky Java
Krok 1) Zvažte následující program balíku v Javě:
package p1;class c1(){public void m1(){System.out.println("m1 of c1");}public static void main(string args[]){c1 obj = new c1();obj.m1();}}
Tady,
- Chcete-li dát třídu do balíčku, na prvním řádku kódu definujte balíček p1
- Vytvořte třídu c1
- Definování metody m1, která vytiskne čáru.
- Definování hlavní metody
- Vytvoření objektu třídy c1
- Způsob volání m1
Krok 2) V dalším kroku uložte tento soubor jako demo.java
Krok 3) V tomto kroku soubor sestavíme.
Kompilace je dokončena. Je vytvořen soubor třídy c1. Není však vytvořen žádný balíček? Další krok má řešení
Krok 4) Nyní musíme vytvořit balíček pomocí příkazu
javac -d . demo.java
Tento příkaz vynutí kompilátor k vytvoření balíčku.
„“ operátor představuje aktuální pracovní adresář.
Krok 5) Když spustíte kód, vytvoří se balíček p1. Když otevřete java balíček p1 uvnitř, uvidíte soubor c1.class.
Krok 6) Zkompilujte stejný soubor pomocí následujícího kódu
javac -d… demo.java
Zde „…“ označuje nadřazený adresář. V našem případě bude soubor uložen v nadřazeném adresáři, kterým je jednotka C.
Soubor uložený v nadřazeném adresáři, když je spuštěn výše uvedený kód.
Krok 7) Nyní řekněme, že chcete vytvořit dílčí balíček p2 v rámci našeho stávajícího java balíčku p1. Poté upravíme náš kód jako
package p1.p2;class c1{public void m1() {System.out.println("m1 of c1");}}
Krok 8) Zkompilujte soubor
Jak je vidět na následujícím snímku obrazovky, vytváří dílčí balíček p2, který má uvnitř balíčku třídu c1.
Krok 9) Chcete-li spustit kód, uveďte plně kvalifikovaný název třídy, tj. Název balíčku následovaný názvem dílčího balíčku následovaným názvem třídy -
java p1.p2.c1
Takto je balíček spuštěn a poskytuje výstup jako "m1 z c1" ze souboru kódu.
Jak importovat balíček
Chcete-li vytvořit objekt třídy (dodávaný v balíčku), musíte ve svém kódu použít jeho plně kvalifikovaný název.
Příklad:
java.awt.event.actionListner object = new java.awt.event.actionListner();
Mohlo by však být únavné zadávat dlouhý název cesty balíčku oddělených tečkami pro každou třídu, kterou chcete použít. Místo toho doporučujeme použít příkaz import.
Syntax
import packageName;
Po importu můžete třídu použít, aniž byste uvedli její plně kvalifikovaný název.
import java.awt.event.*; // * signifies all classes in this package are importedimport javax.swing.JFrame // here only the JFrame class is imported//UsageJFrame f = new JFrame; // without fully qualified name.
Příklad : Chcete-li importovat balíček
Krok 1) Zkopírujte kód do editoru.
package p3;import p1.*; //imports classes only in package p1 and NOT in the sub-package p2class c3{public void m3(){System.out.println("Method m3 of Class c3");}public static void main(String args[]){c1 obj1 = new c1();obj1.m1();}}
Krok 2) Uložte soubor jako Demo2.java. Zkompilujte soubor pomocí příkazu javac -d. Demo2.java
Krok 3) Spusťte kód pomocí příkazu java p3.c3
Balíčky - body k poznámce:
- Aby nedocházelo ke konfliktům názvů, balíčky jsou uvedeny názvy doménových jmen společnosti obráceně Ex: com.guru99. com.microsoft, com.infosys atd.
- Pokud není zadán název balíčku, je třída ve výchozím balíčku (aktuální pracovní adresář) a samotný balíček nemá žádné jméno. Proto jste byli schopni provádět úkoly dříve.
- Při vytváření balíčku je třeba dbát na to, že příkaz pro vytvoření balíčku musí být napsán před jinými příkazy pro import
// not allowedimport package p1.*;package p3;//correct syntaxpackage p3;import package p1.*;
balíček java.lang se ve výchozím nastavení importuje pro všechny třídy, které vytvoříte v Javě.
Rozhraní Java API je velmi rozsáhlé a obsahuje třídy, které umí provádět téměř všechny vaše programovací úlohy přímo od manipulace s datovou strukturou až po práci v síti. Více často než ne, budete ve svém kódu používat soubory API. Dokumentaci k API si můžete prohlédnout zde.