Deo zbornika Učimo Javu
import
u Javi
Da bismo koristili klase bez navođenja njihovog punog imena (koje uključuje ime paketa i ime klase, npr. java.net.URL
), uvozimo ih naredbom import
na početku programa:
import java.net.URL;
import java.net.MalformedURLException;
public class URLSplitter {
public static void main(String[] args) {
String struna = "http://student.math.hr:80/~vedris/index.html#top";
try {
URL u = new URL(struna);
System.out.println("Protocol: " + u.getProtocol());
System.out.println("Host: " + u.getHost());
System.out.println("Port: " + u.getPort());
System.out.println("File: " + u.getFile());
System.out.println("Ref: " + u.getRef());
}
catch (MalformedURLException e) {
System.err.println(struna);
}
}
}
Univerzalni import
Umjesto uvoza pojedinih klasa moguće je uvesti i cijeli paket, zamjenjujući imena klasa zvjezdicom (*
). Na primjer, u prethodnom programu mogli smo imati:
import java.net.*;
To ne bi utjecalo na konačni kompilirani kod, ali bi kompilacija trajala nešto duže. Prednost ovakvog uvoza je sigurnost da su sve potrebne klase dostupne.
Klase iz paketa java.lang
ne moramo uvoziti.
Uvoz statičkih članova
Na primer, možemo importovati statički član PI
iz klase Math
u naš program:
import static java.lang.Math.PI;
Statički član se zatim može koristi prosto navođenjem imena, kao npr:
return 4.0 / 3.0 * PI;
Importovanje svih statičkih članova klase Math
:
import static java.lang.Math.*;
Bitno je zapamtiti da import
statičkih članova klase nije moguć za klase koje se nalaze u podrazumevanom bezimenom paketu. Paket mora imati ime.
Imenski konflikti
Ako prilikom uvoza dođe do konflikata u imenima uvezenih i vlastitih klasa ili među samim Java klasama, što je također moguće (npr. java.util.List
i java.awt.List
), onda ćemo ipak morati koristiti puna imena tih klasa.
Izvor: Elliotte Rusty Harold, Java Lecture Notes, preveo Draško Budin, priredio Damjan Pavlica.