Страницы

Поиск по вопросам

вторник, 30 октября 2018 г.

Почему для static-метода нельзя опустить имя класса?

Доброго времени суток.
Имеется пример метода, сортирующего список, в рамках которого используются статические методы sort() и reverseOrder(). Они записаны со ссылкой на класс Collections
Collections.sort(copy, Collections.reverseOrder());
Если метод sort() встречается во многих классах и без уточняющей ссылки на Collections не обойтись, то метод reverseOrder() представлен лишь в одном экземпляре. Почему, в таком случае, запись:
Collections.sort(copy, reverseOrder());
будет неверна?
Благодарю.


Ответ

Данная проблема решается статическим импортированием:
import static java.util.Collections.reverseOrder;
В противном случае, необходимо при компиляции обойти все классы в classpath и проверить наличие там данной функции.

Комментариев нет:

Отправить комментарий