Загрузка...

import в Java

Оставьте класс Bell в папке kit со строкой package kit; и методом ring(), который печатает ding. В Porch.java рядом с этой папкой, ближе к верху файла, напишите import kit.Bell;, затем из main вызовите коротким именем Bell.ring();. Скомпилируйте из родительской папки и запустите java Porch. Экран должен показать одну строку: ding. Строка import позволяет убрать kit. из вызова. Именно короткий вызов после import — то, чему учит эта страница.

Строка, которая открывает короткое имя

На странице packages вы каждый раз набирали kit.Bell.ring();. Полное имя по-прежнему работает. Строка import говорит Java, какой класс пакета вы имеете в виду под коротким словом Bell. После import kit.Bell; вызов может быть Bell.ring();. Сам файл Bell свою строку package kit; не меняет.
Оставьте тот же kit/Bell.java, что был раньше, или создайте заново. Первая строка package kit;. Public class — Bell. Метод:
public static void ring() { System.out.println("ding"); }
В Bell.java нет main. Сохраните перед компиляцией. На этом уроке не кладите строку import внутрь Bell — import принадлежит файлу, которому нужно короткое имя, здесь Porch.

Bell in package kit

java
package kit;

public class Bell {
    public static void ring() {
        System.out.println("ding");
    }
}

Porch сначала импортирует, потом вызывает Bell.ring

Создайте Porch.java в родительской папке — на том же уровне, что и kit, не внутри kit. Поставьте import kit.Bell; после любой package-строки у Porch (на этой странице у Porch её нет) и перед public class Porch. Внутри main напишите Bell.ring();. Не делайте kit.Bell.ring(); обязательным путём этого демо — урок как раз про import.
Держите Porch как класс, в котором есть main. Если оставшийся Lobby.java со страницы packages всё ещё вызывает только kit.Bell.ring();, можете отложить тот файл. Для этого урока после компиляции из родительской папки запустите java Porch.

Porch with import

java
import kit.Bell;

public class Porch {
    public static void main(String[] args) {
        Bell.ring();
    }
}

Из родительской папки, где лежат Porch.java и папка kit, выполните javac kit/Bell.java Porch.java. В Windows можно так же указать kit\Bell.java. Когда скобки, фигурные скобки и точки с запятой совпадают, javac не пишет своей строки. Затем запустите java Porch — не java Porch.java и не java kit.Bell. Уберите окончание .java из команды запуска. Запускайте класс, в котором есть main.
Программа должна напечатать одну строку и остановиться: ding. Она не просит вас вводить текст. Если терминал ждёт ввода с клавиатуры, в каком-то файле ещё остался вызов nextLine из старого упражнения. Удалите этот вызов и оставьте в Porch import kit.Bell; вместе с Bell.ring();.
Пройдите запуск один раз. Java начинает с Porch.main. Import уже назвал, какой Bell вы имеете в виду. Вызов Bell.ring() выполняет статический метод в пакете kit. Тело печатает ding. Экран показывает ding. Больше ничего печататься не должно. Если вы видите 9 или ok, вы всё ещё запускаете старую программу Pier или Yard с предыдущей страницы.
Если написать Bell.ring(); без import и без префикса kit., на этой странице javac не найдёт класс. Добавьте import kit.Bell; над классом или используйте полное имя. Если поставить import после public class Porch, javac откажет — import-ы идут до объявления класса. Написание тоже важно: import kit.Bell; должно посимвольно совпадать с папкой пакета и именем класса.

Полное имя без import всё ещё работает

Вы по-прежнему можете вызвать kit.Bell.ring(); без строки import. Это форма страницы packages. Второе демо Porch сохраняет этот путь, чтобы вы увидели оба стиля.

Porch full name no import

java
public class Porch {
    public static void main(String[] args) {
        kit.Bell.ring();
    }
}

Компилируйте и запускайте ту же форму так же: javac kit/Bell.java Porch.java, затем java Porch. Экран снова показывает ding. Предпочтительный учебный файл страницы import — тот, где есть import kit.Bell; и Bell.ring();. Файл с полным именем держите только чтобы доказать, что старый вызов всё ещё компилируется. Не смешивайте оба вызова как единственный сохранённый файл для пути квиза — выберите форму с import как файл урока.
Если экран показывает оставшиеся 9 или ok, всё ещё работает старая программа Pier или Yard. Переключитесь на java Porch. Если javac говорит, что пакет kit не существует, проверьте, что Bell.java по-прежнему лежит под папкой kit с первой строкой package kit;.

Сравнение с packages

На странице packages единственным вызовом был kit.Bell.ring();. Эта страница добавляет import kit.Bell;, чтобы короткое имя заработало. Оставшийся Lobby, который никогда не импортирует, — история, а не обязательный файл этого урока. Для этой страницы держите в Porch значения import kit.Bell; и Bell.ring();.
Внутри файла Bell вам не нужен import. Bell уже знает свой пакет. Import нужен вызывающему вне пакета, которому нужно более короткое имя. Смотрите на import как на локальную строку прозвища только для этого исходного файла — другие файлы это прозвище не наследуют, пока сами не напишут свой import.
Когда позже вы откроете несколько классов из одного пакета, можете написать несколько строк import — по одной на класс. Эта страница держит один import, чтобы короткий вызов оставался ясным.

Что остаётся для ArrayList

Эта страница завершает историю пакетов модуля Classes словом import. Следующая страница открывает Collections с ArrayList. Здесь оставайтесь с import и коротким вызовом. Не делайте на этой странице обязательным import kit.*;; одного точного import достаточно.
Когда старые файлы Lobby.java ещё лежат в родительской папке, не трогайте их или удалите только если они путают команду компиляции. После компиляции пары с import из этого урока запустите java Porch.

Перед ArrayList

Вы можете держать Bell под kit с package kit;, в Porch написать import kit.Bell; и вызвать Bell.ring();. Скомпилируйте из родительской папки и запустите java Porch. Экран показывает ding. Import открыл короткое имя. Следующая страница — ArrayList, где вы храните растущий список значений в одном объекте.
Держите import над классом. Держите короткий вызов Bell.ring(); в учебном файле. Держите компиляцию из родительской папки. Эти три привычки — контрольная точка этой страницы перед тем, как идти дальше. Когда после Bell.ring(); экран показывает ding, строка import сделала работу этого урока, и вы готовы к следующей теме.

🧠 Проверьте Свои Знания

Готов к Началу

Проверьте Свои Знания

Бросьте себе вызов с помощью этой интерактивной викторины и узнайте, насколько хорошо вы понимаете тему

❓
5
Вопросы
🎯
70%
Для Прохождения
♾️
∞
Время
🔄
∞
Попытки

📝 Инструкции

  • Внимательно прочитайте каждый вопрос
  • Выберите лучший ответ на каждый вопрос
  • Вы можете пересдавать тест столько раз, сколько захотите
  • Ваш прогресс будет показан вверху