import static java.util.Arrays.toString;
class ImportDuty {
public static void main(String[] args) {
printArgs(1, 2, 3, 4, 5);
}
static void printArgs(Object... args) {
System.out.println(toString(args));
}
}
Программа не скомпилируется, так как члены класса в области видимости имеют преимущество перед статическим импортом. Поэтому не рекомендуется их использовать, так как появление в классе-родителе метода с таким же именем приведёт к порой незаметному изменению работы программы.
Если честно, до сих пор не понимаю, зачем все ж таки придумали этот статический импорт...?
ОтветитьУдалитьИз новых фич Java 5 мне непонятно введение Static Import и очень не нравится Autoboxing (против Unboxing ничего не имею). Annotations - удобная вещь для разработчиков средств обработки кода. Enhanced for Loop и Typesafe Enums - очень удобные шорткаты. Ну а Generics выглядят недоработанными, хотя и имеют некоторе плюсы при программировании...
ОтветитьУдалить