Pakiety w Javie i jak ich używać?
Opublikowany: 2022-04-18Pakiety 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.
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:
- Zaimportuj go za pomocą instrukcji import ExamplePackage.multiply; lub
- 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.