Pakiety w Javie i jak ich używać?

Opublikowany: 2022-04-18

Pakiety w Javie służą do grupowania powiązanych klas, interfejsów i podpakietów. Używamy pakietów Java, aby uniknąć konfliktów nazw, ponieważ mogą istnieć dwie klasy o tej samej nazwie w dwóch różnych pakietach. Co więcej, wyszukiwanie, lokalizowanie i używanie interfejsów, klas, adnotacji i wyliczeń staje się łatwiejsze dzięki pakietom Java.

Używanie języka programowania Java do pisania oprogramowania obejmuje wiele pojedynczych klas, a sensowne jest organizowanie powiązanych klas i interfejsów w pakiety. W pewnym sensie możesz porównać pakiety Java z folderami na komputerze, których używamy do organizowania różnych plików i utrzymywania porządku w pracy.

W tym przewodniku omówimy różne typy pakietów w Javie i sposoby ich używania.

Spis treści

Rodzaje pakietów w Javie

Pakiety w Javie są podzielone na kategorie w zależności od tego, czy użytkownik je definiuje, czy nie. Dwa rodzaje pakietów Java to:

  • Wbudowane pakiety
  • Pakiety zdefiniowane przez użytkownika

1. Wbudowane pakiety

Predefiniowane lub wbudowane pakiety Java są częścią zestawu Java Development Kit (JDK) i składają się z wielu predefiniowanych klas i interfejsów, które są częścią interfejsów Java API. Oto niektóre z najczęściej używanych pakietów wbudowanych w Javie:

  • java.io: Zawiera klasy do obsługi operacji wejścia/wyjścia.
  • java.lang: Ten wbudowany pakiet jest importowany automatycznie i zawiera klasy obsługi języków.
  • java.util: Zawiera klasy narzędzi do implementacji struktur danych, takich jak słownik i wsparcie, połączone listy, operacje daty i czasu itp .
  • java.net: zawiera klasy obsługujące operacje sieciowe.

Musimy użyć instrukcji import, aby zaimportować dowolne wbudowane pakiety Javy i użyć klas, które zawiera.

Prosty przykład pokazujący użycie klasy ArrayList pakietu Java.util jest następujący:

pakiet Przykład;

import java.util.ArrayList;

klasa Wbudowany Pakiet {

public static void main(String[] args) {

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

mojaLista.dodaj(3);

mojaLista.dodaj(2);

mojaLista.dodaj(1);

System.out.println(„Lista zawiera elementy: ” + mojaLista);

}

}

Wyjście:

Lista zawiera elementy: [3, 2, 1]

W powyższym przykładzie Java.util.ArrayList, Java jest pakietem najwyższego poziomu, util jest podpakietem, a ArrayList jest klasą obecną w podpakietu util.

Importowanie pakietów w Javie

Jak pokazano we wcześniejszym przykładzie, Java ma instrukcję importu, która pozwala nam zaimportować cały pakiet lub użyć tylko niektórych interfejsów i klas zdefiniowanych w pakiecie.

Ogólna składnia instrukcji import to:

  • import nazwa.pakietu.NazwaKlasy; //Importuje tylko określoną klasę
  • import package.name.* //Importuje cały pakiet

Na przykład import java.util.Date; importuje tylko klasę Date, podczas gdy import java.io.*; importuje wszystko, co zawiera pakiet java.io.

Jednak instrukcja import jest opcjonalna w Javie i jeśli chcemy użyć klasy lub interfejsu z określonego pakietu, możemy użyć jego w pełni kwalifikowanej nazwy w następujący sposób:

class MojaKlasa implementuje java.util.Date {

//ciało

}

2. Pakiety zdefiniowane przez użytkownika

Jak wynika z nazwy, pakiety zdefiniowane przez użytkownika są tworzone przez użytkownika w celu grupowania klas, interfejsów i podpakietów.

Tworzenie pakietu zdefiniowanego przez użytkownika

Aby utworzyć pakiet zdefiniowany przez użytkownika w Javie, wybierzemy nazwę naszego pakietu i użyjemy polecenia package jako instrukcji początkowej w pliku źródłowym Javy. Jako przykład utworzymy pakiet o nazwie ExamplePackage, używając następującej instrukcji:

pakiet Przykładowy pakiet;

Instrukcja pakiet określa pakiet, do którego będą należeć zdefiniowane przez nas klasy. Jeśli nie użyjemy instrukcji package, nazwy klas zostaną umieszczone w domyślnym pakiecie w Javie, który nie ma nazwy.

Ucz się kursów rozwoju oprogramowania online z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

Tworzenie klasy w pakiecie Java

Po utworzeniu pakietu następnym krokiem jest utworzenie klasy wewnątrz pakietu. W tym celu zadeklarujemy nazwę pakietu w pierwszej instrukcji programu, a następnie dołączymy klasę jako część pakietu.

Poniżej przedstawiony jest prosty program pokazujący jak stworzyć klasę w pakiecie Java. W podanym przykładzie tworzymy klasę Calculate wewnątrz pakietu ExamplePackage.

pakiet Przykładowy pakiet;

klasa publiczna Oblicz {

public int add(int p, int q){

powrót p+q;

}

public static void main(String args[]){

Oblicz obj = new Oblicz();

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

}

}

Wyjście: 82

Java przechowuje pakiety w katalogach systemu plików. Tak więc powyższy program zostanie zapisany w pliku jako Calculate.java i będzie przechowywany w katalogu o nazwie ExamplePackage. Po skompilowaniu pliku Java utworzy plik '.class' i zapisze go w katalogu ExamplePackage.

Teraz możesz użyć pakietu ExamplePackage w innym programie. Oto jak:

importuj ExamplePackage.Calculate;

Demo klasy publicznej{

public static void main(String args[]){

Oblicz obj = new Oblicz();

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

}

}

Wyjście: 723

W powyższym przykładzie zaimportowaliśmy pakiet ExamplePackage, aby użyć klasy Calculate. Importowanie pakietu jako ExamplePackage.Calculate importuje tylko klasę Calculate. Jeśli jednak masz więcej niż jedną klasę w pakiecie ExamplePackage, możesz użyć wszystkich klas pakietu, używając następującej instrukcji import:

importuj przykładowy pakiet.*;

Tworzenie klasy wewnątrz pakietu podczas importowania innego pakietu

Aby utworzyć klasę wewnątrz pakietu podczas importowania innego pakietu, zaczniemy od zadeklarowania nazwy pakietu, a następnie zaimportowania drugiego pakietu. Poniższy przykład pokazuje to samo:

pakiet Inny Pakiet; //Deklarowanie pakietu

importuj ExamplePackage.Calculate; //importowanie pakietu

Przykład klasy publicznej{

public static void main(String args[]){

Oblicz obj = new Oblicz();

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

}

}

Wyjście: 1000

W powyższym przykładzie deklarujemy pakiet OtherPackage, importujemy klasę Calculate z pakietu ExamplePackage, a następnie tworzymy klasę Example.

Importowanie klasy przy użyciu w pełni kwalifikowanej nazwy

Możemy uniknąć instrukcji import, używając w pełni kwalifikowanej nazwy. Użycie w pełni kwalifikowanej nazwy sprawia, że ​​dostępna jest tylko zadeklarowana klasa pakietu. Ale za każdym razem, gdy uzyskujemy dostęp do klasy lub interfejsu, musimy używać w pełni kwalifikowanej nazwy. Importowanie klasy przy użyciu w pełni kwalifikowanej nazwy jest przydatne, gdy dwa pakiety mają tę samą nazwę klasy.

Poniższy przykład ilustruje to samo:

1. Oblicz.java

pakiet Przykładowy pakiet;

klasa publiczna Oblicz {

public int add(int x, int y){

zwróć x+y;

}

public static void main(String args[]){

Oblicz obj = new Oblicz();

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

}

}

2. Demo.java

pakiet Inny Pakiet; //Deklarowanie pakietu

Demo klasy publicznej{

public static void main(String args[]){

ExamplePackage.Calculate obj = new ExamplePackage.Calculate(); //Używanie w pełni kwalifikowanej nazwy zamiast importu

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

}

}

Wyjście: 300

W poniższym przykładzie użyliśmy w pełni kwalifikowanej nazwy ExamplePackage.Calculate do utworzenia jej obiektu zamiast importowania pakietu.

3. Podpakiety w Javie

Teraz, gdy mamy już pomysł na pakiety w Javie i jak je tworzyć, pozwala nam zrozumieć koncepcję podpakietów w Javie.

Pakiet podrzędny to pakiet wewnątrz innego pakietu i służy do dalszej kategoryzacji pakietu. Innymi słowy, jeśli tworzymy pakiet multiply wewnątrz pakietu ExamplePackage, to multiply jest podpakietem. Zatem jeśli chcemy stworzyć klasę w ramach tego podpakietu pomnożyć, to podpakiet powinien mieć na początku deklarację.

Poniższy program demonstruje koncepcję podpakietu Java:

pakiet Przykładowy pakiet.multiply; //Deklaracja podpakietu

klasa publiczna mnożenie {

int iloczyn(int p, int q){

zwróć p*q;

}

}

Teraz, jeśli chcemy użyć klasy Multiplication, możemy:

  1. Zaimportuj go za pomocą instrukcji import ExamplePackage.multiply; lub
  2. użyj w pełni kwalifikowanej nazwy, takiej jak ExamplePackage.multiply.Multiplication obj = new ExamplePackage.multiply.Multiplication();

Droga do przodu

Pakiety w Javie mogą być pakietami wbudowanymi lub zdefiniowanymi przez użytkownika i są niezbędne do lepszego dostępu i zarządzania kodem. Koncepcja pakietów Java jest kluczowa dla każdego, kto zajmuje się tworzeniem oprogramowania.

UpGrad's Job-linked PG Certification in Software Engineering to 5-miesięczny program online, który może pomóc w opanowaniu umiejętności programowania i przygotowaniu się do ról programistycznych. Program koncentruje się na kluczowych umiejętnościach, takich jak Java, JavaScript, CSS3, HTML5 itp. i jest specjalnie zaprojektowany dla nowicjuszy, którzy chcą nauczyć się programować.

Najważniejsze punkty programu:

  • Specjalizacja w MERN/Cloud-Native
  • Ponad 500 godzin treści
  • 50+ sesji na żywo
  • 350+ godzin praktycznego szkolenia
  • Pięć projektów branżowych
  • Wsparcie w nauce 360 ​​stopni
  • Nawiązywanie kontaktów z ekspertami branżowymi

Zapisz się dziś i ucz się od najlepszych!

Czym jest opakowanie i jego rodzaje?

Pakiet to zbiór powiązanych jednostek Java, takich jak klasy, podklasy, interfejsy, adnotacje i wyliczenia. Może również zawierać podpakiety. Pakiety w Javie są dwojakiego rodzaju - pakiety wbudowane i pakiety zdefiniowane przez użytkownika.

Dlaczego używamy pakietów w Javie?

Używamy pakietów w Javie, aby zapobiegać konfliktom nazw, ułatwiać wyszukiwanie, lokalizowanie i używanie klas, interfejsów, adnotacji i wyliczeń, kontrolę dostępu i hermetyzację danych.

Co to jest dostęp na poziomie pakietu w Javie?

Dostęp na poziomie pakietu w Javie jest domyślnym poziomem dostępu zapewnianym przez Javę w przypadku, gdy nie określono modyfikatora dostępu. Rolą modyfikatorów dostępu jest ograniczenie dostępności do klasy, zmiennej lub metody, której dotyczy.