Каков пакет по умолчанию, в который помещаются мои classы, если я не укажу его?

Предположим, у меня есть файл с именем Main.java со следующим кодом:

public class Main { public static void main(String[] args) { System.out.println("Hello world"); } } 

Он помещается в конкретный пакет, в (возможно?) Неназванный пакет?

благодаря

Класс, который не находится в именованном пакете, находится в неназванном пакете . Таким образом, полное имя classа – Main .

Такие classы нельзя использовать из именованного пакета, кроме как через reflection.

JLS говорит, что:

Безвизовые пакеты предоставляются платформой Java SE главным образом для удобства при разработке небольших или временных приложений или когда только начинается разработка.

В Java нет пространств имен, в нем есть пакеты. И да, classы без деклараций пакетов неявно являются частью « неназванного пакета », часто также называемого «пакетом по умолчанию». Однако, поскольку невозможно импортировать classы из неназванного пакета, и поскольку спецификация языка явно позволяет реализациям иметь разные правила о том, как и как classы в неназванных пакетах видны друг другу, обычно рекомендуется помещать все classы в именах пакеты, за исключением экспериментального кода.

Согласно JLS, это называется:

7.4.2. Без названия

Единица компиляции, которая не имеет объявления пакета, является частью неназванного пакета.

  • Конструкторы и наследование по умолчанию в Java
  • Объявление примитивов / объектов, значения инициализации по умолчанию
  • Почему компилятор Scala запрещает перегруженные методы с аргументами по умолчанию?
  • Почему компилятор не может вывести тип шаблона из аргументов по умолчанию?
  • Почему в параметрах C ++ последнее значение должно быть добавлено последними?
  • Создание (и доступ) разреженной матрицы с записями NA по умолчанию
  • Таблицы стилей CSS по умолчанию для браузеров
  • Поддерживает ли Java значения параметров по умолчанию?
  • Можете ли вы вызвать метод по умолчанию родительского интерфейса из интерфейса, который подclassифицирует этот интерфейс?
  • Почему «final» не допускается в методах интерфейса Java 8?
  • как изменить браузер по умолчанию с помощью c # или командного файла
  • Давайте будем гением компьютера.