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ć.
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/