Pachete în Java și cum să le folosiți?

Publicat: 2022-04-18

Pachetele în Java sunt folosite pentru a grupa clase, interfețe și sub-pachete înrudite. Folosim pachete Java pentru a evita conflictele de denumire, deoarece pot exista două clase cu același nume în două pachete diferite. În plus, căutarea, localizarea și utilizarea interfețelor, claselor, adnotărilor și enumerărilor devin mai ușoare cu pachetele Java.

Utilizarea limbajului de programare Java pentru a scrie software implică numeroase clase individuale și are sens doar organizarea claselor și interfețelor înrudite în pachete. Într-un fel, puteți compara pachetele Java cu folderele dintr-un computer pe care le folosim pentru a organiza diverse fișiere și pentru a ne dezordinea munca.

Acest ghid va discuta despre diferitele tipuri de pachete din Java și despre modul de utilizare a acestora.

Cuprins

Tipuri de pachete în Java

Pachetele în Java sunt împărțite în categorii în funcție de faptul că utilizatorul le definește sau nu. Cele două tipuri de pachete Java sunt:

  • Pachete încorporate
  • Pachete definite de utilizator

1. Pachete încorporate

Pachetele Java predefinite sau încorporate vin ca parte a Java Development Kit (JDK) și constau din multe clase și interfețe predefinite care fac parte din API-urile Java. Unele dintre pachetele încorporate utilizate în mod obișnuit în Java sunt următoarele:

  • java.io: Conține clase pentru susținerea operațiunilor de intrare/ieșire.
  • java.lang: Acest pachet încorporat este importat automat și conține clase de suport lingvistic.
  • java.util: Conține clase de utilitate pentru implementarea structurilor de date, cum ar fi dicționar și suport, listă legată, operațiuni de dată și oră etc.
  • java.net: Conține clase care acceptă operațiunile de rețea.

Trebuie să folosim instrucțiunea import pentru a importa orice pachet Java încorporat și pentru a folosi clasele pe care le conține.

Un exemplu simplu pentru a arăta utilizarea clasei ArrayList a pachetului Java.util este următorul:

Exemplu pachet;

import java.util.ArrayList;

clasa BuiltInPackage {

public static void main(String[] args) {

ArrayList<Integer> myList = new ArrayList<>(3);

myList.add(3);

myList.add(2);

myList.add(1);

System.out.println(„Lista are elementele: ” + myList);

}

}

Ieșire:

Lista conține elementele: [3, 2, 1]

În exemplul de mai sus Java.util.ArrayList, Java este pachetul de nivel superior, util este un sub-pachet și ArrayList este o clasă prezentă în sub-pachetul util.

Importul pachetelor în Java

După cum se arată în exemplul anterior, Java are o instrucțiune de import care ne permite să importăm un întreg pachet sau să folosim doar anumite interfețe și clase definite în pachet.

Sintaxa generală a instrucțiunii de import este:

  • import package.name.ClassName; //Importă doar o anumită clasă
  • import package.name.* //Importă întregul pachet

De exemplu, import java.util.Date; importă doar clasa Date, în timp ce import java.io.*; importă tot ce conține pachetul java.io.

Cu toate acestea, instrucțiunea de import este opțională în Java și, dacă dorim să folosim clasa sau interfața dintr-un anumit pachet, putem folosi numele complet calificat, după cum urmează:

clasa MyClass implementează java.util.Date {

//corp

}

2. Pachete definite de utilizator

După cum este evident din nume, pachetele definite de utilizator sunt create de utilizator pentru gruparea claselor, interfețelor și sub-pachetelor.

Crearea unui pachet definit de utilizator

Pentru a crea un pachet definit de utilizator în Java, vom alege un nume pentru pachetul nostru și vom folosi comanda pachet ca instrucțiune de pornire în fișierul sursă Java. De exemplu, vom crea un pachet numit ExamplePackage folosind următoarea instrucțiune:

pachet ExempluPachet;

Declarația pachet specifică pachetul căruia îi vor aparține clasele pe care le definim. Dacă nu folosim instrucțiunea pachet, numele claselor vor fi introduse în pachetul implicit în Java care nu are nume.

Învață cursuri online de dezvoltare software de la cele mai bune universități din lume. Câștigați programe Executive PG, programe avansate de certificat sau programe de master pentru a vă accelera cariera.

Crearea unei clase în pachetul Java

Odată ce am creat pachetul, următorul pas este crearea unei clase în interiorul pachetului. Pentru aceasta, vom declara numele pachetului în prima instrucțiune a programului, urmată de includerea clasei ca parte a pachetului.

Mai jos este un program simplu pentru a arăta cum să creați o clasă într-un pachet Java. În exemplul dat, creăm o clasă Calculate în interiorul pachetului ExamplePackage.

pachet ExempluPachet;

clasă publică Calculați {

public int add(int p, int q){

întoarce p+q;

}

public static void main(String args[]){

Calculate obj = new Calculate();

System.out.println(obj.add(70, 12));

}

}

Ieșire: 82

Java stochează pachetele în directoare ale sistemului de fișiere. Deci, programul de mai sus va fi salvat într-un fișier ca Calculate.java și stocat în directorul numit ExamplePackage. Când fișierul este compilat, Java va crea un fișier „.class” și îl va stoca în directorul ExamplePackage.

Acum, puteți utiliza pachetul ExamplePackage într-un alt program. Iată cum:

import ExamplePackage.Calculate;

Demo de clasă publică{

public static void main(String args[]){

Calculate obj = new Calculate();

System.out.println(obj.add(200, 523));

}

}

Ieșire: 723

În exemplul de mai sus, am importat pachetul ExamplePackage pentru a folosi clasa Calculate. Importul pachetului ca ExamplePackage.Calculate importă numai clasa Calculate. Cu toate acestea, dacă aveți mai multe clase în pachetul ExamplePackage, puteți utiliza toate clasele pachetului folosind următoarea instrucțiune de import:

import ExamplePackage.*;

Crearea unei clase în interiorul unui pachet în timp ce se importă un alt pachet

Pentru a crea o clasă în interiorul unui pachet în timp ce importăm un alt pachet, vom începe prin a declara numele pachetului și apoi importăm celălalt pachet. Următorul exemplu demonstrează același lucru:

pachet OtherPackage; //Declararea unui pachet

import ExamplePackage.Calculate; //importul unui pachet

Exemplu de clasă publică{

public static void main(String args[]){

Calculate obj = new Calculate();

System.out.println(obj.add(300, 700));

}

}

Ieșire: 1000

În exemplul de mai sus, declarăm pachetul OtherPackage, importăm clasa Calculate din pachetul ExamplePackage și apoi creăm clasa Example.

Importul unei clase folosind un nume complet calificat

Putem evita declarația de import folosind un nume complet calificat. Utilizarea unui nume complet calificat face accesibilă numai clasa declarată a pachetului. Dar trebuie să folosim un nume complet calificat de fiecare dată când accesăm clasa sau interfața. Importarea unei clase folosind un nume complet calificat este utilă atunci când două pachete au același nume de clasă.

Următorul exemplu ilustrează același lucru:

1. Calculați.java

pachet ExempluPachet;

clasă publică Calculați {

public int add(int x, int y){

returnează x+y;

}

public static void main(String args[]){

Calculate obj = new Calculate();

System.out.println(obj.add(20, 50));

}

}

2. Demo.java

pachet OtherPackage; //Declararea unui pachet

Demo de clasă publică{

public static void main(String args[]){

ExamplePackage.Calculate obj = nou ExamplePackage.Calculate(); //Se utilizează un nume complet calificat în loc de import

System.out.println(obj.add(200, 100));

}

}

Ieșire: 300

În exemplul de mai jos, am folosit numele complet calificat ExamplePackage.Calculate pentru a crea obiectul acestuia în loc să importam pachetul.

3. Sub-pachete în Java

Acum că avem o idee despre pachetele Java și despre cum să le creăm, permiteți-ne să înțelegem conceptul de sub-pachete în Java.

Un subpachet este un pachet în interiorul altui pachet și este folosit pentru a clasifica pachetul în continuare. Cu alte cuvinte, dacă creăm un pachet multiply în interiorul pachetului ExamplePackage, atunci multiplicare este subpachetul. Astfel, dacă vrem să creăm o clasă în cadrul acestui sub-pachet înmulțit, atunci sub-pachetul ar trebui să aibă o declarație la început.

Următorul program demonstrează conceptul de subpachet Java:

pachet ExamplePackage.multiply; //Declararea subpachetului

Public class Multiplication {

int produs(int p, int q){

returnează p*q;

}

}

Acum, dacă vrem să folosim clasa Multiplication, putem:

  1. Importați-l folosind instrucțiunea import ExamplePackage.multiply; sau
  2. utilizați un nume complet calificat, cum ar fi ExamplePackage.multiply.Multiplication obj = nou ExamplePackage.multiply.Multiplication();

Pas înainte

Pachetele în Java pot fi fie pachete încorporate, fie definite de utilizator și sunt esențiale pentru un acces și o gestionare mai bune a codului. Conceptul de pachete Java este crucial pentru oricine în domeniul dezvoltării software.

Certificarea PG legată de locuri de muncă de la upGrad în inginerie software este un program online de 5 luni care vă poate ajuta să stăpâniți abilitățile de programare și să vă pregătiți pentru roluri software. Programul se concentrează pe abilități esențiale precum Java, JavaScript, CSS3, HTML5 etc. și este special conceput pentru cei care doresc să învețe să programeze.

Repere ale programului:

  • Specializare MERN/Cloud-Native
  • Peste 500 de ore de conținut
  • Peste 50 de sesiuni live
  • Peste 350 de ore de instruire practică
  • Cinci proiecte industriale
  • Suport de învățare la 360 de grade
  • Rețea cu experți din industrie

Inscrie-te astăzi și învață de la cei mai buni!

Ce este un pachet și tipurile lui?

Un pachet este o colecție de entități Java înrudite, cum ar fi clase, subclase, interfețe, adnotări și enumerări. Poate conține și sub-pachete. Pachetele în Java sunt de două tipuri - pachete încorporate și pachete definite de utilizator.

De ce folosim pachete în Java?

Folosim pachete în Java pentru a preveni conflictele de denumire, pentru a face căutarea, localizarea și utilizarea claselor, interfețelor, adnotărilor și enumerărilor mai ușoare, a controla accesul și încapsularea datelor.

Ce este accesul la nivel de pachet în Java?

Accesul la nivel de pachet în Java este nivelul de acces implicit furnizat de Java în cazul în care nu este specificat niciun modificator de acces. Rolul modificatorilor de acces este de a restricționa accesibilitatea la o clasă, variabilă sau metodă la care se aplică.