Import ona görə əlverişlidir ki, biz hər dəfə kod daxilində hansısa classın adını istifadə edəndə onu paket adı ilə tam formada yazmayaq, paketi import edək, qısa class adından istifadə edək. Static import
adi importdan fərqli olaraq classları deyil, ancaq classın static member`lərini import etmək üçündür.
import java.util.List; import static java.util.Arrays.asList; // static import public class StaticImports { public static void main(String[] args) { List<String> list = asList("one", "two"); // without Arrays } }
Əgər biz StaticImports
classında asList()
adlı yeni metod yaratsaq, import olunmuş metodla class daxilindəki metod adı eyni olacaq və bu zaman java öncəlik sırasını class daxilində yaradılmış metoda verəcək.
Bir başqa nümunəyə baxaq:
import static java.util.Arrays; // line1, DOES NOT COMPILE import static java.util.Arrays.asList; static import java.util.Arrays.*; // line2, DOES NOT COMPILE class BadStaticImports { public static void main(String[] args) { Arrays.asList("one"); // line3, DOES NOT COMPILE } }
- line1 – class
static
açar sözü ilə import edilə bilməz,static import
ancaq static member`ləri import edir; - line2 – ardıcıllıq sırası pozulub,
static
sözü həmişəimport
sözündən sonra gəlməlidir; - line3 – biz line2`də ancaq
Arrays
classınınasList()
metodunu import etmişik,Arrays
classının özünü yox.
Eyniadlı 2 static metodu və ya 2 static dəyişəni static import
etdikdə compile xətası baş verir:
import static statics.A.TYPE; import static statics.B.TYPE; // DOES NOT COMPILE
[topics lang=az]