Статический импорт Java

Просто экспериментально я обнаружил, что нестатические методы Java переопределяют все те же именованные методы в области видимости даже в статическом контексте. Даже без разрешения перегрузки параметров. Как

import java.util.Arrays;    
import static java.util.Arrays.toString;

public class A {
    public static void bar(Object... args) {
        Arrays.toString(args);
        toString(args);     //toString() in java.lang.Object cannot be applied to (java.lang.Object[])
    }
}

я не могу найти что-нибудь об этом в спецификации. Это ошибка? Если нет, есть ли причины для реализации такого языка?

UPD: Java 6 не компилирует этот пример. Вопрос - почему?

26
задан Lion 23 January 2012 в 13:29
поделиться