Pachete în Java: Cum se creează și se utilizează pachete în Java?



Această postare despre pachete în java vă va ajuta să înțelegeți ce sunt pachetele, cum să le creați și să le utilizați în Java pentru a fi programatori java eficienți.

Una dintre cele mai inovatoare este conceptul de pachete.Pachetele în Java sunt o modalitate de a încapsula un grup de clase, interfețe, enumerări, adnotări și subpachete. Conceptual, vă puteți gândi la pachetele java ca fiind similare cu diferite foldere de pe computer. În acest tutorial, vom acoperi elementele de bază ale pachetelor din

Mai jos sunt enumerate subiectele tratate în acest articol:





Ce este pachetul în Java?

Pachetul Java este un mecanism de grupare a unor tipuri similare de clase, interfețe și sub-clase în mod colectiv, pe baza funcționalității. Când software-ul este scris în , poate fi compus din sute sau chiar mii de clase individuale. EuNu are sens să păstrăm lucrurile organizate prin plasarea de clase și interfețe în pachete.

Utilizarea pachetelor în timp ce codificați oferă o mulțime de avantaje, cum ar fi:



    • Reutilizare: Clasele conținute în pachetele unui alt program pot fi reutilizate cu ușurință
    • Conflicte de nume: Pacheteajută-ne să identificăm în mod unic o clasă, de exemplu, pe care o putem avea companie.vânzări. angajat și companie.marketing.Angajat clase
    • Acces controlat: promoții protecția accesului precum pclase rotite, clase implicite și clase private
    • Incapsularea datelor : Ei palege un mod de a ascunde clasele, împiedicând alte programe să acceseze clase destinate exclusiv utilizării interne
    • Întreținere: Cu pachete,vă puteți organiza proiectul mai bine și puteți localiza cu ușurință cursurile conexe

Este o practică bună să utilizați pachete în timp ce codificați în Java. În calitate de programator, putețidescoperi cu ușurință , interfețe, enumerări și adnotări care sunt legate. Avem două tipuri de pachete în java.

Tipuri de pachete în Java

În funcție de faptul că pachetul este definit de utilizator sau nu, pachetele sunt împărțite în două categorii:

  1. Pachete încorporate
  2. Pachete definite de utilizator

Pachete încorporate

Pachetele încorporate sau pachetele predefinite sunt cele care apar ca parte a (Java Development Kit) pentru a simplifica sarcina programatorului Java. Acestea constau dintr-un număr mare de clase și interfețe predefinite care fac parte din API-ul Java. Unele dintre pachetele încorporate utilizate în mod obișnuit sunt java.lang, java.io, java.util, java.applet etc. Iată un program simplu care utilizează un pachet încorporat.



pachet Edureka import clasa java.util.ArrayList BuiltInPackage {public static void main (String [] args) {ArrayList myList = new ArrayList (3) myList.add (3) myList.add (2) myList.add (1) Sistem. out.println ('Elementele listei sunt:' + Lista mea)}}

Ieșire:

Elementele listei sunt: ​​[3, 2, 1]

Clasa ArrayList aparține pachetului java.util. Pentru a-l utiliza, trebuie să importăm pachetul folosind declarația de import. Prima linie a codului import java.util.ArrayList importă pachetul și utilizează java.util care este prezent în subpachetul util.

Pachete definite de utilizator

Pachetele definite de utilizator sunt cele care sunt dezvoltate de utilizatori pentru a grupa clase, interfețe și subpachete conexe. Cu ajutorul unui exemplu de program, să vedem cum să creăm pachete, să compilăm programe Java în interiorul pachetelor și să le executăm.

Crearea unui pachet în Java

Crearea unui pachet în Java este o sarcină foarte ușoară. Alegeți un nume pentru pachet și includeți un pachet comanda ca prima declaratie din fisierul sursa Java. Fișierul sursă Java poate conține clasele, interfețele, enumerările și tipurile de adnotări pe care doriți să le includeți în pachet.De exemplu, următoarea declarație creează un pachet numit Pachetul meu.

pachetul MyPackage

Declarația de pachet specifică pur și simplu cărui pachet îi aparțin clasele definite ..

Notă: Dacă omiteți declarația de pachet, numele clasei sunt introduse în pachetul implicit, care nu are nume. Deși pachetul implicit este potrivit pentru programele scurte, este inadecvat pentru aplicațiile reale.

tablou amestecând două surse de date

Inclusiv o clasă în pachetul Java

Lacreați o clasă în interiorul unui pachet, ar trebuideclarați numele pachetului ca prima declarație a programului dvs. Apoi includeți clasa ca parte a pachetului. Nu uitați însă că o clasă poate avea o singură declarație de pachet. Iată un program simplu pentru a înțelege conceptul.

package MyPackage public class Compare {int num1, num2 Compare (int n, int m) {num1 = n num2 = m} public void getmax () {if (num1> num2) {System.out.println ('Valoare maximă de două numere este '+ num1)} else {System.out.println (' Valoarea maximă a două numere este '+ num2)}} public static void main (String args []) {Compare current [] = new Compare [3] current [1] = nou Comparați (5, 10) curent [2] = noi Comparați (123, 120) pentru (int i = 1 i<3 i++) { current[i].getmax() } } } 

Ieșire:

Valoarea maximă a două numere este 10 Valoarea maximă a două numere este 123

După cum puteți vedea, am declarat un pachet numit MyPackage și am creat o clasă Compare în interiorul acelui pachet. Java folosește directoare de sistem de fișiere pentru a stoca pachete. Deci, acest program ar fi salvat într-un fișier ca Comparați.java și vor fi stocate în directorul numit MyPackage. Când fișierul este compilat, Java va crea un fișier .clasă fișierul și stocați-l în același director. Amintiți-vă că numele pachetului trebuie să fie același cu directorul sub care este salvat acest fișier.

S-ar putea să vă întrebați cum să utilizați această clasă de comparare dintr-o clasă dintr-un alt pachet?

Crearea unei clase în interiorul pachetului în timp ce importați un alt pachet

Ei bine, este destul de simplu. Trebuie doar să-l importați. Odată importat, îl puteți accesa după numele acestuia. Iată un exemplu de program care demonstrează conceptul.

pachet Edureka import MyPackage.Compare public class Demo {public static void main (String args []) {int n = 10, m = 10 Compare current = new Compare (n, m) if (n! = m) {current.getmax ()} else {System.out.println ('Ambele valori sunt aceleași')}}}

Ieșire:

Ambele valori sunt aceleași

Am declarat mai întâi pachetul Edureka , apoi a importat clasa Comparaţie din pachetul MyPackage. Deci, ordinulatunci când creăm o clasă în interiorul unui pachet în timp ce importăm un alt pachet este,

  • Declarație pachet
  • Import pachet

Ei bine, dacă nu doriți să utilizați declarația de import, există o altă alternativă pentru a accesa un fișier de clasă al pachetului dintr-un alt pachet. Puteți folosi doar numele complet calificat în timp ce importați un .

Folosind un nume complet calificat în timp ce importați o clasă

Iată un exemplu pentru a înțelege conceptul. Voi folosi același pachet pe care l-am declarat anterior pe blog, Pachetul meu .

pachet Edureka public class Demo {public static void main (String args []) {int n = 10, m = 11 // Utilizarea numelui complet calificat în loc de import MyPackage.Compare current = new MyPackage.Compare (n, m) if ( n! = m) {current.getmax ()} else {System.out.println ('Ambele valori sunt aceleași')}}}

Ieșire:

Valoarea maximă a două numere este 11

În clasa Demo, în loc să import pachetul, am folosit numele complet calificat, cum ar fi MyPackage.Comparați pentru a crea obiectul acestuia. Întrucât vorbim despre importul de pachete, ați putea să verificați conceptul de import static în Java.

cum se creează o serie de obiecte

Import static în Java

Funcția de import static a fost introdusă în din versiunea 5. Facilitează programatorul Java să acceseze orice staticămembru al unei clase direct fără a utiliza numele complet calificat.

pachet MyPackage import static java.lang.Math. * // static import import static java.lang.System. * // static import public class StaticImportDemo {public static void main (String args []) {double val = 64.0 double sqroot = sqrt (val) // Accesați direct metoda sqrt () out.println („rădăcina Sq. a„ + val + ”este„ + sqroot) // Nu este nevoie să folosim „System.out}}
 Ieșire: 
Sq. rădăcina 64.0 este 8.0

Deși utilizarea importului static implică mai puțină codificare, utilizarea excesivă a acestuia ar putea face ca programul să nu poată fi citit și intretinut. Acum să trecem la următorul subiect, controlul accesului în pachete.

Protecția accesului în pachetele Java

Este posibil să fiți conștienți de diferite aspecte ale mecanismului de control al accesului Java și ale acestuia specificatori de acces . Pachetele în Java adaugă o altă dimensiune pentru controlul accesului. Ambele clase și pachete sunt un mijloc de încapsularea datelor . În timp ce pachetele acționează ca containere pentru clase și alte pachete subordonate, clasele acționează ca containere pentru date și cod. Datorită acestei interacțiuni între pachete și clase, pachetele Java abordează patru categorii de vizibilitate pentru membrii clasei:

  • Subclasele din același pachet
  • Non-subclasele din același pachet
  • Subclasele din diferite pachete
  • Clase care nu sunt nici în același pachet, nici sub-clase

Tabelul de mai jos oferă unimagine reală a tipului de acces posibil și care nu este atunci când se utilizează pachete în Java:

Privat Fără modificator Protejat Public

Aceeasi clasa

da

da

da

da

Același subclase de pachet

Nu

da

da

da

Același pachet non-subclasele

Nu

da

da

da

Subclase de pachete diferite

Nu

Nu

da

da

Diferite pachete non-subclasă

Nu

Nu

Nu

creați clasa de singleton în java

da

Putem simplifica datele din tabelul de mai sus după cum urmează:

  1. Orice lucru declarat public poate fi accesat de oriunde
  2. Orice lucru declarat privat poate fi văzut numai în cadrul acelei clase
  3. Dacă specificatorul de acces nu este menționat, un element este vizibil atât pentru subclase, cât și pentru alte clase din același pachet
  4. În sfârșit, orice element declarat protejat poate fi văzut în afara pachetului dvs. curent, dar numai la clasele care subclasează clasa dvs. direct

În acest fel, pachetele Java asigură controlul accesului la clase. Ei bine, acest lucru încheie conceptul de pachete în Java. Iată câteva puncte pe care ar trebui să le aveți în vedere atunci când utilizați pachete în .

Puncte de reținut

  • Fiecare clasă face parte dintr-un pachet. Dacă omiteți declarația de pachet, numele clasei sunt introduse în pachetul implicit
  • O clasă poate avea o singură declarație de pachet, dar poate avea mai multe instrucțiuni de pachet de import
  • Numele pachetului trebuie să fie același cu directorul în care este salvat fișierul
  • La importul unui alt pachet, declarația pachetului trebuie să fie prima declarație, urmată de importul pachetului

Ei bine, acest lucru ne aduce la sfârșitul acestui articol „Pachete în Java”. Am învățatce este un pachet și de ce ar trebui să le folosim. Nu există nicio îndoială că pachetul Java este una dintre cele mai importante părți pentru programatorii Java eficienți. Nu numai că modernizează stilul de codare al programatorului, dar reduce și o mulțime de muncă suplimentară.

Dacă ați găsit acest articol despre „Pachete în Java”, consultați de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Suntem aici pentru a vă ajuta cu fiecare pas din călătoria dvs., pentru a deveni o afară de întrebările de interviuri java, venim cu un curriculum care este conceput pentru studenți și profesioniști care doresc să fie un dezvoltator Java.