Статический импорт. Общий вид оператора статического импорта
Существуют два варианта синтаксической записи оператора import static. Первый, приведенный в листинге 8.2, вариант импортирует единичное имя. Его общий вид приведен в следующей строке:
import static pkg.type-namе.static-member-name;
В этой записи type - name — это имя класса или интерфейса, содержащее нужный статический член. Полное имя пакета, в который входит заданный класс или интерфейс, определено в pkg. А имя члена содержится в static-member-name.
Во втором варианте статического импорта, общий вид которого приведен в следующей строке, импортируются все статические члены:
import static pkg. type-name.*;
Если Вы будете использовать много статических методов или полей, определенных в классе, второй вариант записи позволит импортировать их без явного перечисления. Таким образом, программа из листинга 8.2 могла бы с помощью единственного оператора import импортировать оба метода: sqrt () и pow () (и все остальные статические члены класса Math) в область видимости следующим образом:
import static Java.lang.Math.*;
Конечно, статический импорт не ограничен только классом Math или только методами. В следующей строке приведен пример импортирования статического поля System.out:
import static Java.lang.System.out;
После вставки этого оператора, можно вывести на консоль без уточнения имени стандартного вывода out именем system, как показано в следующей строке:
out.println("After importing System.out, you can use out directly.")
Хорошо ли импортировать поле system.out таким образом— это вопрос для обсуждения. Хотя такой импорт укорачивает оператор, после его применения у человека, читающего программу, пропадает уверенность в том, что имя out ссылается на поле System.out.
Опубликовал Kest
January 13 2009 19:01:54 ·
0 Комментариев ·
9834 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.