Balíky v Jave: Ako vytvárať a používať balíčky v Jave?



Tento príspevok o balíkoch v Jave vám pomôže pochopiť, čo sú balíky, ako ich vytvárať a používať v Jave, aby boli efektívnymi programátormi Java.

Jeden z najinovatívnejších je koncept balíkov.Balíky v Jave sú spôsobom, ako zapuzdriť skupinu tried, rozhraní, enumerácií, anotácií a čiastkových balíkov. Koncepčne si môžete myslieť, že balíčky Java sú podobné rôznym priečinkom v počítači. V tomto výučbe sa budeme venovať základom balíkov v

Ďalej sú uvedené témy, ktorým sa venuje tento článok:





Čo je balíček v Jave?

Balík Java je mechanizmus zoskupovania podobných typov tried, rozhraní a podtried spoločne na základe funkčnosti. Keď je softvér napísaný v , môže pozostávať zo stoviek alebo dokonca tisícov jednotlivých tried. JaMá zmysel udržiavať poriadok v organizácii umiestňovaním príbuzných tried a rozhraní do balíkov.

Používanie balíkov počas programovania ponúka veľa výhod, ako napríklad:



čo je obstarávanie v projektovom manažmente
    • Opätovná použiteľnosť: Triedy obsiahnuté v balíkoch iného programu možno ľahko znovu použiť
    • Konflikty mien: BalíčkyPomôžte nám jednoznačne určiť triedu, ktorú môžeme mať spoločnosť.sales.zamestnanec a spoločnosť.marketing.zamestnanec triedy
    • Riadený prístup: Ponuky ochrana prístupu ako protované triedy, predvolené triedy a súkromná trieda
    • Zapuzdrenie údajov : Oni pposkytuje spôsob, ako skryť triedy, čím zabráni iným programom v prístupe k triedam, ktoré sú určené iba na interné použitie
    • Údržba: S balíčkami,môžete lepšie organizovať svoj projekt a ľahko lokalizovať súvisiace triedy

Je dobrým zvykom používať balíčky počas programovania v Jave. Ako programátor môžeteľahko zistiť , rozhrania, výčty a anotácie, ktoré spolu súvisia. V Jave máme dva typy balíkov.

Typy balíkov v Jave

Podľa toho, či je balík definovaný používateľom, alebo nie, sú balíčky rozdelené do dvoch kategórií:

  1. Vstavané balíčky
  2. Užívateľom definované balíčky

Vstavané balíčky

Vstavané balíčky alebo preddefinované balíčky sú tie, ktoré prichádzajú ako súčasť (Java Development Kit) na zjednodušenie úlohy programátora Java. Skladajú sa z veľkého množstva preddefinovaných tried a rozhraní, ktoré sú súčasťou Java API. Niektoré z bežne používaných vstavaných balíkov sú java.lang, java.io, java.util, java.applet atď. Tu je jednoduchý program využívajúci vstavaný balík.



balík Edureka import java.util.ArrayList trieda BuiltInPackage {public static void main (String [] args) {ArrayList myList = nový ArrayList (3) myList.add (3) myList.add (2) myList.add (1) Systém. out.println ('Prvky zoznamu sú:' + myList)}}

Výkon:

Prvky zoznamu sú: [3, 2, 1]

Trieda ArrayList patrí do balíka java.util. Aby sme to mohli použiť, musíme importovať balík pomocou príkazu import. Prvý riadok kódu importovať java.util.ArrayList importuje balík java.util a použije ho ktorý je prítomný v čiastkovom balíku util.

Užívateľom definované balíčky

Užívateľom definované balíčky sú tie, ktoré vyvíjajú používatelia za účelom zoskupovania súvisiacich tried, rozhraní a čiastkových balíkov. S pomocou ukážkového programu sa pozrime, ako vytvárať balíčky, kompilovať programy Java v balíkoch a spúšťať ich.

Vytvorenie balíka v Jave

Vytvorenie balíka v Jave je veľmi ľahká úloha. Vyberte názov balíka a uveďte a balíček príkaz ako prvý príkaz v zdrojovom súbore Java. Zdrojový súbor Java môže obsahovať triedy, rozhrania, výčty a typy anotácií, ktoré chcete zahrnúť do balíka.Napríklad nasledujúci príkaz vytvorí balík s názvom MyPackage.

balíček MyPackage

Príkaz package jednoducho určuje, do ktorého balíka patria definované triedy.

Poznámka: Ak príkaz balíka vynecháte, názvy tried sa vložia do predvoleného balíka, ktorý nemá žiadny názov. Aj keď je predvolený balík vhodný pre krátke programy, je nedostatočný pre skutočné aplikácie.

Vrátane triedy v balíku Java

Tovytvoriť triedu v balíku, mali by stedeklarujte názov balíka ako prvé vyhlásenie vášho programu. Potom zahrňte triedu ako súčasť balíka. Pamätajte však, že trieda môže mať iba jedno vyhlásenie o balíku. Tu je jednoduchý program na pochopenie konceptu.

balíček MyPackage verejná trieda Porovnať {int num1, num2 Porovnať (int n, int m) {num1 = n num2 = m} public void getmax () {if (num1> num2) {System.out.println ('Maximálna hodnota dvoch 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ý Porovnať (5, 10) prúd [2] = nový Porovnať (123, 120) pre (int i = 1 i<3 i++) { current[i].getmax() } } } 

Výkon:

Maximálna hodnota dvoch čísel je 10 Maximálna hodnota dvoch čísel je 123

Ako vidíte, deklaroval som balíček s názvom MyPackage a vo vnútri tohto balíka som vytvoril triedu Compare. Java používa na ukladanie balíkov adresáre súborového systému. Takže tento program by bol uložený v súbore ako Porovnaj.java a budú uložené v adresári s názvom MyPackage. Keď sa súbor skompiluje, vytvorí Java .trieda súbor a uložte ho do rovnakého adresára. Pamätajte, že názov balíka musí byť rovnaký ako adresár, do ktorého je tento súbor uložený.

Možno by vás zaujímalo, ako použiť túto triedu porovnania z triedy v inom balíku?

Vytváranie triedy vo vnútri balíka pri importovaní ďalšieho balíka

Je to celkom jednoduché. Musíte to len importovať. Po importovaní k nej získate prístup podľa jej názvu. Tu je ukážkový program demonštrujúci tento koncept.

balíček Edureka import MyPackage.Compare verejná trieda Demo {public static void main (String args []) {int n = 10, m = 10 Porovnať prúd = nový Porovnať (n, m) if (n! = m) {current.getmax ()} else {System.out.println ('Obe hodnoty sú rovnaké')}}}

Výkon:

Obidve hodnoty sú rovnaké

Najprv som deklaroval balík Edureka , potom importoval triedu Porovnaj z balíka MyPackage. Takže, objednávkakeď vytvárame triedu v balíku a zároveň importujeme ďalší balík,

  • Vyhlásenie o balíku
  • Import balíkov

No, ak nechcete použiť príkaz na import, existuje iná alternatíva prístupu k súboru triedy balíka z iného balíka. Pri importovaní súboru stačí použiť úplný názov .

Používanie úplného názvu pri importe triedy

Tu je príklad na pochopenie tohto konceptu. Budem používať ten istý balík, ktorý som deklaroval už skôr v blogu, MyPackage .

balík Edureka verejná trieda Demo {public static void main (String args []) {int n = 10, m = 11 // Použitie úplného názvu namiesto importu MyPackage.Compare current = nový MyPackage.Compare (n, m) if ( n! = m) {current.getmax ()} else {System.out.println ('Obe hodnoty sú rovnaké')}}}

Výkon:

Maximálna hodnota dvoch čísel je 11

V triede Demo som namiesto importovania balíka použil úplne kvalifikovaný názov ako napr MyPackage.Porovnať aby sme vytvorili jeho predmet. Pretože hovoríme o importe balíkov, môžete si tiež vyskúšať koncept statického importu v Jave.

Statický import v Jave

Funkcia statického importu bola predstavená v od verzie 5. Programátorovi Java uľahčuje prístup ku všetkým statickým údajomčlen triedy priamo bez použitia úplného názvu.

balíček MyPackage import static java.lang.Math. * // statický import import static java.lang.System. * // statický import verejná trieda StaticImportDemo {public static void main (String args []) {double val = 64,0 double sqroot = sqrt (val) // Prístup k metóde sqrt () priamo out.println ('Sq. root' + val + 'je' + sqroot) // Nepotrebujeme používať 'System.out}}
 Výkon: 
Sq. koreň 64,0 je 8,0

Aj keď použitie statického importu vyžaduje menej kódovania, jeho nadmerné použitie môže spôsobiť, že bude program nečitateľný a neudržateľný. Teraz prejdime k ďalšej téme, kontrole prístupu v balíkoch.

Ochrana prístupu v balíkoch Java

Možno poznáte rôzne aspekty mechanizmu kontroly prístupu Java a jeho mechanizmov špecifikátory prístupu . Balíky v Jave dodávajú kontrole prístupu ďalšiu dimenziu. Triedy aj balíčky sú prostriedkom zapuzdrenie dát . Zatiaľ čo balíky fungujú ako kontajnery pre triedy a ďalšie podriadené balíky, triedy fungujú ako kontajnery pre dáta a kód. Kvôli tejto súhre medzi balíčkami a triedami balíčky Java oslovujú štyri kategórie viditeľnosti pre členov triedy:

  • Podtriedy v rovnakom balíku
  • Nepodtriedy v rovnakom balíku
  • Podtriedy v rôznych balíkoch
  • Triedy, ktoré nie sú v rovnakom balíku, ani podtriedach

Nasledujúca tabuľka poskytuje areálny obraz o tom, aký typ prístupu je možný a ktorý nie pri použití balíkov v Jave:

Súkromné Žiadny modifikátor Chránené Verejné

Rovnaká trieda

ako triediť čísla v c ++

Áno

Áno

Áno

Áno

Rovnaké podtriedy balíkov

Nie

Áno

Áno

Áno

Rovnaké podtriedy balíka

Nie

Áno

Áno

Áno

Podtriedy rôznych balíkov

Nie

Nie

Áno

Áno

Rôzne balíčky podtried

Nie

Nie

Nie

Áno

Údaje vo vyššie uvedenej tabuľke môžeme zjednodušiť nasledovne:

  1. Ku všetkému, čo je vyhlásené za verejné, je prístup odkiaľkoľvek
  2. Všetko, čo je vyhlásené za súkromné, je možné vidieť iba v rámci tejto triedy
  3. Ak nie je uvedený špecifikátor prístupu, prvok je viditeľný pre podtriedy aj pre ďalšie triedy v rovnakom balíku
  4. Nakoniec všetko, čo je vyhlásené za chránený prvok, je možné vidieť mimo aktuálny balík, ale iba v triedach, ktoré vašu triedu podtriedia priamo

Týmto spôsobom poskytujú balíčky Java riadenie prístupu k triedam. Týmto je zabalený koncept balíkov v Jave. Tu je niekoľko bodov, ktoré by ste mali mať na pamäti pri používaní balíkov v .

Body na zapamätanie

  • Každá trieda je súčasťou nejakého balíka. Ak príkaz balíka vynecháte, názvy tried sa vložia do predvoleného balíka
  • Trieda môže mať iba jeden výpis z balíka, ale môže mať viac ako jeden výpis z balíka na import
  • Názov balíka musí byť rovnaký ako adresár, pod ktorým je súbor uložený
  • Pri importe iného balíka musí byť prvým prehlásením deklarácia balíka, po ktorej nasleduje import balíka

Týmto sa dostávame na koniec tohto článku „Balíky v Jave“. Dozvedeli sme sačo je to balíček a prečo by sme ich mali používať. Nie je pochýb o tom, že balík Java je jednou z najdôležitejších častí efektívnych programátorov Java. Nielenže vylepšuje štýl kódovania programátora, ale tiež znižuje množstvo ďalšej práce.

Ak ste tento článok našli v časti „Balíky v Jave“, pozrite si stránku autor: Edureka, dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete. Sme tu, aby sme vám pomohli na každom kroku na vašej ceste. Okrem otázok týkajúcich sa tohto rozhovoru pre jazyk java vymyslíme učebný plán určený pre študentov a profesionálov, ktorí sa chcú stať vývojármi Java.