Pakiety w Javie: jak tworzyć i używać pakietów w Javie?



Ten post na temat pakietów w Javie pomoże ci zrozumieć, czym są pakiety, jak je tworzyć i używać w Javie, aby być wydajnymi programistami Java.

Jeden z najbardziej innowacyjnych to pojęcie opakowań.Pakiety w Javie to sposób na hermetyzację grupy klas, interfejsów, wyliczeń, adnotacji i pakietów podrzędnych. Koncepcyjnie możesz myśleć o pakietach Java jako podobnych do różnych folderów na komputerze. W tym samouczku omówimy podstawy pakietów w

Poniżej wymienione są tematy poruszone w tym artykule:





Co to jest pakiet w języku Java?

Pakiet Java to mechanizm grupowania podobnych typów klas, interfejsów i podklas zbiorczo na podstawie funkcjonalności. Gdy oprogramowanie jest napisane w , może składać się z setek, a nawet tysięcy indywidualnych zajęć. jaUtrzymywanie porządku w porządku ma sens poprzez umieszczanie powiązanych klas i interfejsów w pakietach.

Korzystanie z pakietów podczas kodowania ma wiele zalet, takich jak:



    • Możliwość ponownego użycia: Klasy zawarte w pakietach innego programu można łatwo ponownie wykorzystać
    • Konflikty nazw: Pakietypomóż nam na przykład jednoznacznie zidentyfikować klasę, którą możemy mieć firma.sprzedaż.Pracownik i firma.marketing.pracownik zajęcia
    • Kontrolowany dostęp: Oferuje ochrona dostępu takie jak strklasy rotowane, klasy domyślne i klasy prywatne
    • Hermetyzacja danych : Oni provide sposób na ukrycie klas, uniemożliwiając innym programom dostęp do klas przeznaczonych tylko do użytku wewnętrznego
    • Utrzymanie: Z pakietami,możesz lepiej zorganizować swój projekt i łatwo zlokalizować powiązane klasy

Dobrą praktyką jest używanie pakietów podczas kodowania w Javie. Jako programista możeszłatwo znaleźć , interfejsy, wyliczenia i adnotacje, które są powiązane. W java mamy dwa rodzaje pakietów.

Rodzaje pakietów w Javie

W zależności od tego, czy pakiet jest zdefiniowany przez użytkownika, czy nie, pakiety są podzielone na dwie kategorie:

  1. Wbudowane pakiety
  2. Pakiety zdefiniowane przez użytkownika

Wbudowane pakiety

Pakiety wbudowane lub pakiety predefiniowane to te, które są częścią (Java Development Kit), aby uprościć zadanie programisty Java. Składają się z ogromnej liczby predefiniowanych klas i interfejsów, które są częścią Java API. Niektóre z najczęściej używanych pakietów wbudowanych to java.lang, java.io, java.util, java.applet itd. Oto prosty program korzystający z wbudowanego pakietu.



co robi bufferedreader w java
pakiet Edureka import java.util.ArrayList klasa BuiltInPackage {public static void main (String [] args) {ArrayList myList = new ArrayList (3) myList.add (3) myList.add (2) myList.add (1) System. out.println ('Elementy listy to:' + myList)}}

Wynik:

Elementy listy to: [3, 2, 1]

Klasa ArrayList należy do pakietu java.util. Aby z niego skorzystać, musimy zaimportować paczkę za pomocą instrukcji import. Pierwsza linia kodu import java.util.ArrayList importuje pakiet java.util i używa który jest obecny w pakiecie podrzędnym util.

Pakiety zdefiniowane przez użytkownika

Pakiety zdefiniowane przez użytkownika to takie, które są tworzone przez użytkowników w celu grupowania powiązanych klas, interfejsów i pakietów podrzędnych. Z pomocą przykładowego programu zobaczmy, jak tworzyć pakiety, kompilować programy w języku Java w pakietach i je wykonywać.

Tworzenie pakietu w Javie

Tworzenie pakietu w Javie jest bardzo łatwym zadaniem. Wybierz nazwę pakietu i dołącz plik pakiet polecenie jako pierwsza instrukcja w pliku źródłowym Java. Plik źródłowy java może zawierać klasy, interfejsy, wyliczenia i typy adnotacji, które chcesz dołączyć do pakietu.Na przykład poniższa instrukcja tworzy pakiet o nazwie Moja paczka.

pakiet MyPackage

Instrukcja pakiet po prostu określa, do którego pakietu należą zdefiniowane klasy.

Uwaga: Jeśli pominiesz instrukcję pakiet, nazwy klas zostaną umieszczone w domyślnym pakiecie, który nie ma nazwy. Chociaż domyślny pakiet jest odpowiedni dla krótkich programów, jest on nieodpowiedni dla rzeczywistych aplikacji.

Włączanie klasy do pakietu Java

Dopowinieneś utworzyć klasę w pakieciezadeklaruj nazwę pakietu jako pierwszą instrukcję programu. Następnie dołącz klasę jako część pakietu. Pamiętaj jednak, że klasa może mieć tylko jedną deklarację pakietu. Oto prosty program do zrozumienia koncepcji.

pakiet 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 ('Maksymalna wartość dwóch liczby to '+ num1)} else {System.out.println (' Maksymalna wartość dwóch liczb to '+ num2)}} public static void main (String args []) {Porównaj bieżące [] = nowe Porównaj [3] bieżące [1] = nowe Porównaj (5, 10) bieżące [2] = nowe Porównaj (123, 120) dla (int i = 1 i<3 i++) { current[i].getmax() } } } 

Wynik:

Maksymalna wartość dwóch liczb to 10 Maksymalna wartość dwóch liczb to 123

Jak widać, zadeklarowałem pakiet o nazwie MyPackage i utworzyłem w nim klasę Compare. Java używa katalogów systemu plików do przechowywania pakietów. Tak więc ten program zostałby zapisany w pliku jako Compare.java i będzie przechowywany w katalogu o nazwie MyPackage. Gdy plik zostanie skompilowany, Java utworzy plik .klasa plik i przechowuj go w tym samym katalogu. Pamiętaj, że nazwa pakietu musi być taka sama, jak katalog, w którym zapisany jest ten plik.

Być może zastanawiasz się, jak użyć tej klasy porównania z klasy w innym pakiecie?

Tworzenie klasy wewnątrz pakietu podczas importowania innego pakietu

Cóż, to całkiem proste. Wystarczy go zaimportować. Po zaimportowaniu możesz uzyskać do niego dostęp za pomocą jego nazwy. Oto przykładowy program przedstawiający koncepcję.

pakiet 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 ('Obie wartości są takie same')}}}

Wynik:

Obie wartości są takie same

Najpierw zadeklarowałem pakiet Edureka , a następnie zaimportował klasę Porównać z pakietu MyPackage. Więc rozkazkiedy tworzymy klasę w pakiecie podczas importowania innego pakietu,

  • Deklaracja pakietu
  • Import pakietu

Cóż, jeśli nie chcesz używać instrukcji import, istnieje inna alternatywa, aby uzyskać dostęp do pliku klasy pakietu z innego pakietu. Możesz po prostu użyć w pełni kwalifikowanej nazwy podczas importowania pliku .

Używanie w pełni kwalifikowanej nazwy podczas importowania klasy

Oto przykład, aby zrozumieć tę koncepcję. Mam zamiar skorzystać z tego samego pakietu, który zadeklarowałem wcześniej na blogu, Moja paczka .

pakiet Edureka public class Demo {public static void main (String args []) {int n = 10, m = 11 // Używanie w pełni kwalifikowanej nazwy zamiast importowania MyPackage.Compare current = new MyPackage.Compare (n, m) if ( n! = m) {current.getmax ()} else {System.out.println ('Obie wartości są takie same')}}}

Wynik:

Maksymalna wartość dwóch liczb to 11

W klasie Demo zamiast importować pakiet użyłem w pełni kwalifikowanej nazwy, takiej jak MyPackage.Compare aby stworzyć jego przedmiot. Ponieważ mówimy o importowaniu pakietów, równie dobrze możesz sprawdzić koncepcję importu statycznego w Javie.

Import statyczny w Javie

Funkcja importu statycznego została wprowadzona w od wersji 5. Ułatwia programiście Java dostęp do dowolnego statycznegoelement członkowski klasy bezpośrednio bez użycia w pełni kwalifikowanej nazwy.

pakiet MyPackage import statyczny java.lang.Math. * // import statyczny import statyczny java.lang.System. * // import statyczny import publiczny klasa StaticImportDemo {public static void main (String args []) {double val = 64.0 double sqroot = sqrt (val) // Dostęp do metody sqrt () bezpośrednio out.println ('Sq. root of' + val + 'is' + sqroot) // Nie musimy używać 'System.out}}
 Wynik: 
Sq. korzeń 64.0 to 8.0

Chociaż użycie importu statycznego wymaga mniej kodowania, nadużywanie go może spowodować, że program będzie nieczytelny i niemożliwy do utrzymania. Przejdźmy teraz do następnego tematu, kontroli dostępu w pakietach.

Ochrona dostępu w pakietach Java

Być może zdajesz sobie sprawę z różnych aspektów mechanizmu kontroli dostępu w języku Java i jego mechanizmów specyfikatory dostępu . Pakiety w Javie dodają kolejny wymiar kontroli dostępu. Zarówno klasy, jak i pakiety są środkiem hermetyzacja danych . Podczas gdy pakiety działają jako kontenery dla klas i innych pakietów podrzędnych, klasy działają jako kontenery dla danych i kodu. Z powodu tej wzajemnej zależności między pakietami i klasami, pakiety Java odnoszą się do czterech kategorii widoczności dla członków klas:

  • Podklasy w tym samym pakiecie
  • Brak podklas w tym samym pakiecie
  • Podklasy w różnych pakietach
  • Klasy, które nie znajdują się ani w tym samym pakiecie, ani w podklasach

Poniższa tabela przedstawiarzeczywisty obraz tego, jakiego typu dostęp jest możliwy, a którego nie w przypadku używania pakietów w Javie:

Prywatny Bez modyfikatora Chroniony Publiczny

Sama klasa

tak

tak

tak

tak

Te same podklasy pakietów

Nie

tak

tak

tak

Ten sam pakiet bez podklas

Nie

tak

tak

tak

Różne podklasy pakietów

jak zrobić moc w Pythonie

Nie

Nie

tak

tak

Różne pakiety nie będące podklasami

Nie

Nie

Nie

tak

Dane w powyższej tabeli możemy uprościć w następujący sposób:

  1. Do wszystkiego, co zostało ogłoszone jako publiczne, można uzyskać dostęp z dowolnego miejsca
  2. Wszystko, co zostało uznane za prywatne, można zobaczyć tylko w ramach tej klasy
  3. Jeśli specyfikator dostępu nie jest wymieniony, element jest widoczny dla podklas, jak również dla innych klas w tym samym pakiecie
  4. Wreszcie, wszystko, co zadeklarowano jako chroniony element, może być widoczne poza bieżącym pakietem, ale tylko dla klas, które bezpośrednio podklasują Twoją klasę

W ten sposób pakiety Java zapewniają kontrolę dostępu do klas. Cóż, to zamyka koncepcję pakietów w Javie. Oto kilka punktów, o których należy pamiętać podczas korzystania z pakietów w .

Punkty do zapamiętania

  • Każda klasa jest częścią jakiegoś pakietu. Jeśli pominiesz instrukcję pakiet, nazwy klas zostaną umieszczone w domyślnym pakiecie
  • Klasa może mieć tylko jedną instrukcję pakietu, ale może mieć więcej niż jedną instrukcję pakietu importu
  • Nazwa pakietu musi być taka sama, jak nazwa katalogu, w którym plik jest zapisywany
  • Podczas importowania innej paczki deklaracja paczki musi być pierwszą instrukcją, po której następuje import paczki

Cóż, to prowadzi nas do końca artykułu „Pakiety w Javie”. Dowiedzieliśmy sięczym jest pakiet i dlaczego powinniśmy ich używać. Nie ma wątpliwości, że pakiet Java jest jedną z najważniejszych części wydajnych programistów Java. Nie tylko poprawia styl kodowania programisty, ale także redukuje wiele dodatkowej pracy.

Jeśli znalazłeś ten artykuł na temat „Pakiety w Javie”, sprawdź autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Jesteśmy tutaj, aby pomóc Ci na każdym etapie Twojej podróży, aby zostać oprócz tych pytań do rozmowy kwalifikacyjnej w języku Java, opracowaliśmy program nauczania przeznaczony dla studentów i profesjonalistów, którzy chcą zostać programistą Java.