Java #13: Importowanie klas i pakiety

Czasami do napisania kodu nie wystarczy Ci jedna klasa. Właściwie pisząc komercyjny kod prawie zawsze jest on rozłożony na setki a nawet tysiące klas. Kiedy klas jest tak dużo, nie opłaca się ich wszystkich trzymać w jednym miejscu. Tu z pomocą przychodzą pakiety, czyli katalogi, w których trzymane sią logicznie połączone ze sobą klasy. Aby użyć klasy, która znajduje się w innym katalogu niż Twoja obecnie implementowana klasa, to musisz zaimportować ją do swojej klasy. Importowanie klas oznacza nic innego jak pokazanie kompilatorowi Javy, że potrzebuję do swojego kodu zależności z innej klasy.

Na przykład mam klasę A w pakiecie B i klasę C w pakiecie D. Chcę użyć klasę C w klasie A, więc muszę ją zaimportować do niej.

Importowanie klasy z pakietu

Przykład prostej klasy korzystającej z zależności do innej:

package basics;

import basics.constants.ConstantStrings;

public class ImportDependency {
  private ConstantStrings contsant;
}

Jak widzisz klasa znajduje się w pakiecie o nazwie basics, a pole użyte w klasie pochodzi z innej klasy zaimportowanej z pakietu: basics.constants.ConstantStrings. Możesz też zaimportować wszystkie klasy za pakietu poleceniem: basic.constants.*. Klasy znajdujące się w tym samym pakiecie nie trzeba importować.

importowanie klas i pakiety
Przykładowy rozkład pakietów i klas w projekcie

Wszystkie klasy, które nie masz w tym samym pakiecie co klasa, będziesz musiał zaimportować. Tak samo się dzieje z klasami, które są używane w bibliotece Javy. Są jednak wyjątki od tej reguły: np. klasy opakowujące np.: Double, Integer, etc. z pakietu java.lang.*.

Link do lekcji: https://github.com/developeronthego/java-basics/tree/main/src/main/java/basics/lesson13

Istnieją też statyczne importy, opisane w lekcji późniejszej: https://developeronthego.pl/java-pola-statyczne-i-stale/

Stay in the Loop

Get the daily email from CryptoNews that makes reading the news actually enjoyable. Join our mailing list to stay in the loop to stay informed, for free.

Ostatnio dodane

- Advertisement - spot_img

Powiązane wpisy