Статический импорт в Java
Обычный import подключает типы.
Статические члены класса - поля и методы
с модификатором static - можно
вызывать через имя класса. Директива
import static позволяет обращаться
к ним без префикса класса в текущем файле.
Сначала импортируем один статический
метод из Math:
import static java.lang.Math.abs;
public class Main {
public static void main(String[] args) {
System.out.println(abs(-10));
}
}
Можно импортировать константу или несколько членов сразу:
import static java.lang.Math.PI;
import static java.lang.Math.pow;
public class Circle {
public static double area(double radius) {
return PI * pow(radius, 2);
}
}
Статический импорт удобен для собственных утилит с короткими именами методов:
package text;
public class Format {
public static String trimSpaces(String value) {
return value.trim();
}
}
package app;
import static text.Format.trimSpaces;
public class Main {
public static void main(String[] args) {
System.out.println(trimSpaces(" hi "));
}
}
Злоупотреблять import static ... *;
не стоит: в файле появляется много
коротких имён, и источник каждого
вызова становится неочевидным.
В пакете math объявите класс
Nums со статическим методом
doubleValue(int x), который
возвращает x как double.
В Main импортируйте этот метод
статически и выведите результат для
числа 5.
Перепишите вызовы, используя
import static java.lang.Math.max;:
public class Compare {
public static void main(String[] args) {
System.out.println(java.lang.Math.max(3, 7));
}
}