Jason. Cała informatyka w jednym miejscu!

Gdy piszesz kod w języku Java, niemalże zawsze pojawia się na górze słowo kluczowe "import". Choć można bez problemu się domyślić co to robi 😁, to warto się zatrzymać przy nim na dłużej i opowiedzieć na tyle, żeby powstał z tego artykuł 😄.

"IMPORT" W JĘZYKU JAVA TEŻ ZASŁUGUJE NA WYJAŚNIENIA

Po haśle stwierdzamy natychmiastowo, że chodzi o instrukcję importu i to jest prawidłowe myślenie. Konkretniej jednak, to dyrektywa pozwalająca na skrócenie odwoływania się do danych składowych i metod spoza pakietu jaki jest zawsze importowany: "java.lang", a także naszego pakietu, w jakim znajduje się klasa, na której pracujemy.

Wciąż możemy jak najbardziej odwoływać się do całej reszty elementów bez instrukcji importu, tylko trzeba wtedy wpisywać cały ciąg pakietu:

java. io.File file = new java. io.File("file.txt");

Właśnie po to u góry stosuje się "import" w języku Java:

import java. io.*;

Ta forma pozwala na użycie skróconego zapisu wszystkiego co dotyczy pakietu "java.io". Można też napisać tak:

import java. io.File;

żeby skrócić tylko "File". Obojętnie jaki zapis, to Ci umożliwia napisać tak:

File file = new File("file.txt");

Jest tu programista w języku C++? To jest odpowiednik słowa kluczowego "using" 😉.

KONFLIKT IMPORTÓW

Używając importów może dojść do sytuacji, że w dwóch różnych miejscach jest klasa o tej samej nazwie (dla przykładu niech to będzie "Point"), a instrukcja "import" w języku Java skraca i w tym, i w tym miejscu:

import packageA.*;
import packageB.*;

Gdy wtedy spróbujemy się powołać na nią:

Point point = new Point(4, 7);

kompilator zgłosi błąd, bo nie wie jak ma rozróżnić klasę "Point" w jednym pakiecie, od klasy "Point" w drugim pakiecie. Wtedy mamy dwa wyjścia - albo doprecyzować w miejscu definiowania zmiennej (najlepiej stosować, gdy w klasie są potrzebne obie te klasy):

packageA.Point point = new packageA.Point(4, 7);

albo doprecyzować w instrukcji importu:

import packageA.*;
import packageB.*;
import packageA.Point;

Ten sposób radzę stosować gdy jesteśmy pewni, że w całej klasie będziemy korzystać z klasy "Point" z pakietu "packageA".

IMPORT STATYCZNY

Jest też drugi "sposób" importowania. Jeżeli do "import" w języku Java dorzucisz słowo "static" i przykładowo taki oto zapis:

import static java. lang.Math.*;

będziesz mógł/mogła wywoływać bezpośrednio metody matematyczne z klasy "Math", tak jakby znajdowały się one w tej samej klasie:

System.out.println(random());

zamiast:

System.out.println(Math.random());

Ma to swoje plusy i minusy. Import statyczny został szerzej opisany parę lat temu w jednym z innych artykułów.

Słowo kluczowe "import" w języku Java

Słowo kluczowe "import" to dyrektywa, która służy skracaniu odwoływania się do klas spoza pakietu, w jakim się znajdujemy. W połączeniu ze słowem "static", możesz bezpośrednio powoływać się na metody statyczne z innych klas, jakby podchodziły od tej samej!


Tyle? No tak 😎! Tyle razy widzisz "import" w języku Java i właśnie dlatego trzeba było to sobie wyjaśnić, abyś pisał(a) w sposób bardziej uświadomiony 😀!

PODOBNE ARTYKUŁY