Pakiety Java i jak je importować?

W tym artykule dowiesz się o pakietach i jak ich używać do tworzenia modularnego kodu w Javie.

Pakiet Java

Pakiet to po prostu kontener grupujący powiązane typy (klasy Java, interfejsy, wyliczenia i adnotacje). Na przykład w rdzeniu Java ResultSetinterfejs należy do java.sqlpakietu. Pakiet zawiera wszystkie powiązane typy, które są potrzebne do zapytania SQL i połączenia z bazą danych.

Jeśli chcesz użyć ResultSetinterfejsu w swoim kodzie, po prostu zaimportuj pakiet java.sql (Importowanie pakietów zostanie omówione w dalszej części artykułu).

Jak wspomniano wcześniej, pakiety są po prostu kontenerami dla klas Java, interfejsów i tak dalej. Te pakiety pomagają zarezerwować przestrzeń nazw klas i utworzyć kod, który można konserwować.

Na przykład Datew Javie można znaleźć dwie klasy. Jednak praktyczna zasada dotycząca programowania w języku Java jest taka, że ​​w projekcie Java dozwolona jest tylko jedna unikalna nazwa klasy.

Jak udało im się uwzględnić dwie klasy o tej samej nazwie Date w JDK?

Było to możliwe, ponieważ te dwie Dateklasy należą do dwóch różnych pakietów:

  • java.util.Date - to jest normalna klasa Date, której można używać wszędzie.
  • java.sql.Date - to jest data SQL używana w zapytaniu SQL i tym podobne.

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

Wbudowany pakiet

Pakiety wbudowane to istniejące pakiety Java, które są dostarczane wraz z pakietem JDK. Na przykład java.lang, java.util, java.io, itd. Na przykład:

 import java.util.ArrayList; class ArrayListUtilization ( public static void main(String() args) ( ArrayList myList = new ArrayList(3); myList.add(3); myList.add(2); myList.add(1); System.out.println(myList); ) ) 

Wyjście :

 mojaLista = (3, 2, 1) 

ArrayListKlasa należy do java.util package. Aby z niego skorzystać, musimy najpierw zaimportować pakiet za pomocą importinstrukcji.

 import java.util.ArrayList; 

Pakiet zdefiniowany przez użytkownika

Java umożliwia również tworzenie pakietów zgodnie z potrzebami. Te pakiety są nazywane pakietami zdefiniowanymi przez użytkownika.

Jak zdefiniować pakiet Java?

Aby zdefiniować pakiet w Javie, użyj słowa kluczowego package.

 package packageName; 

Java używa katalogów systemu plików do przechowywania pakietów. Utwórzmy plik Java w innym katalogu.

Na przykład:

 └── com └── test └── Test.java 

Teraz edytuj plik Test.java i na początku pliku zapisz instrukcję pakietu jako:

 pakiet com.test; 

Tutaj każda klasa zadeklarowana w katalogu testowym należy do pakietu com.test .

Oto kod:

pakiet com.test; class Test (public static void main (String () args) (System.out.println ("Hello World!");))

Wyjście :

 Witaj świecie! 

Tutaj klasa Test należy teraz do pakietu com.test .

Konwencja nazewnictwa pakietów

Nazwa pakietu musi być unikalna (jak nazwa domeny). W związku z tym istnieje konwencja tworzenia pakietu jako nazwy domeny, ale w odwrotnej kolejności. Na przykład firma.nazwa.firmy

Tutaj każdy poziom pakietu jest katalogiem w systemie plików. Lubię to:

 └── com └── nazwa └── firmy 

Nie ma też ograniczeń co do liczby podkatalogów (hierarchii pakietów), które można utworzyć.

Jak stworzyć pakiet w Intellij IDEA?

W IntelliJ IDEA, oto jak możesz stworzyć pakiet:

  1. Kliknij prawym przyciskiem myszy folder źródłowy.
  2. Przejdź do nowego, a następnie pakiet .
  3. Pojawi się wyskakujące okienko, w którym możesz wpisać nazwę pakietu.

Po utworzeniu pakietu w systemie plików zostanie utworzona podobna struktura folderów. Teraz możesz tworzyć klasy, interfejsy i tak dalej w pakiecie.

Jak importować pakiety w Javie?

Java zawiera importinstrukcję, która umożliwia zaimportowanie całego pakietu (jak we wcześniejszych przykładach) lub użycie tylko określonych klas i interfejsów zdefiniowanych w pakiecie.

The general form of import statement is:

 import package.name.ClassName; // To import a certain class only import package.name.* // To import the whole package 

For example,

 import java.util.Date; // imports only Date class import java.io.*; // imports everything inside java.io package 

The import statement is optional in Java.

If you want to use class/interface from a certain package, you can also use its fully qualified name, which includes its full package hierarchy.

Here is an example to import a package using the import statement.

 import java.util.Date; class MyClass implements Date ( // body ) 

The same task can be done using the fully qualified name as follows:

 class MyClass implements java.util.Date ( //body ) 

Example: Package and importing package

Suppose, you have defined a package com.programiz that contains a class Helper.

 package com.programiz; public class Helper ( public static String getFormattedDollar (double value)( return String.format("$%.2f", value); ) ) 

Now, you can import Helper class from com.programiz package to your implementation class. Once you import it, the class can be referred directly by its name. Here's how:

 import com.programiz.Helper; class UseHelper ( public static void main(String() args) ( double value = 99.5; String formattedValue = Helper.getFormattedDollar(value); System.out.println("formattedValue = " + formattedValue); ) ) 

Output:

 formattedValue = $99.50 

Here,

  1. the Helper class is defined in com.programiz package.
  2. klasa Helper jest importowana do innego pliku. Plik zawiera klasę UseHelper.
  3. getFormattedDollar()Metoda klasy Helper jest wywoływana z wewnątrz klasy UseHelper.
Pakiet importowy Java

W Javie importinstrukcja ta jest zapisywana bezpośrednio po instrukcji pakietu (jeśli istnieje) i przed definicją klasy.

Na przykład,

pakiet nazwa_pakietu; import package.ClassName; // importuj tylko klasę Class MyClass (// body)

Interesujące artykuły...