Как указано here, класс, который используется для запуска программы Java, не обязательно должен быть общедоступным. Однако многие учебники по Java говорят, что этот основной класс ДОЛЖЕН быть публичным. Какие веские причины для этой практики?Почему SHOULD Java классы должны быть общедоступными?
ответ
Когда вы запускаете приложение по списку команд, вы можете добавить к нему аргументы.
Например, если вы хотите присоединиться к пользователям сервера вы можете просто установить их имя: \ путь аргументов \ Java имя класса
Одна точка зрения вы можете смотреть с находится от того, как accessibility обычно объявляются в Java.
A main()
Наиболее распространенное и очевидное использование метода - это точка входа для вашей программы, называемая где-то вне вашей программы. Использование ключевого слова public
делает это вдвойне очевидным.
Также см. This Answer, который связан с тем же вопросом, который вы связали.
Класс с доступом по умолчанию ... доступен только для других классов в одном пакете.
Как правило, нет необходимости запускать вашу программу из JVM, но ограничивать ее вызовы другими классами/классами.
- 1. Почему классы в FrameWork должны быть общедоступными?
- 2. Почему классы ASP.NET MVC Controller должны быть общедоступными?
- 3. Почему тесты Junit (методы) должны быть общедоступными?
- 4. Виртуальные функции должны быть общедоступными?
- 5. Почему методы тестирования в Junit должны быть общедоступными?
- 6. Где протоколы SHOULD должны быть объявлены быстрыми?
- 7. Почему делегатские методы должны быть общедоступными в Swift?
- 8. Почему объявления с перегрузкой должны быть объявлены общедоступными?
- 9. Почему методы частного внутреннего интерфейса должны быть общедоступными?
- 10. Почему некоторые элементы управления должны быть общедоступными, а другие - частными?
- 11. Почему свойства навигации должны быть общедоступными для создания прокси-сервера?
- 12. Почему методы, реализующие внутренние интерфейсы, должны быть общедоступными
- 13. Почему все функции в интерфейсе должны быть общедоступными?
- 14. Как должны быть организованы классы Java?
- 15. Почему мы должны объявлять методы интерфейса общедоступными?
- 16. Являются ли незадекларированные классы в Java общедоступными?
- 17. Где классы репозитория должны быть?
- 18. Свойства класса модели должны быть частными или общедоступными?
- 19. Почему Java ThreadLocal переменные должны быть статическими
- 20. Почему Java-бобы должны быть сериализуемыми?
- 21. Почему XmlSerializer требует, чтобы классы сериализованного объекта объявлялись общедоступными?
- 22. Геттер и сеттеры должны быть частными или общедоступными?
- 23. Должны ли методы в веб-приложении быть общедоступными или внутренними?
- 24. Должны ли переменные элементарного теста быть закрытыми или общедоступными?
- 25. Переменные в функции должны быть общедоступными, если их необходимо изменить?
- 26. Cloudfront: файлы в моем исходном ведре должны быть общедоступными.
- 27. Почему некоторые классы не являются общедоступными в Библиотеке поддержки Android?
- 28. Классы не должны быть вложенными - MXML
- 29. as3 - Ошибка: классы не должны быть вложенными
- 30. Должны ли мои внутренние классы API быть в одном пакете?
Общее соглашение сделает его «общедоступным», вам также нужно помнить, что ваш 'main' класс не всегда может выполняться непосредственно JVM, но может быть выполнен другим классом (возможно, с помощью некоторого подхода к загрузке класса) – MadProgrammer
* многие java-учебники говорят «* Какие учебники? (И не следует * учебники * объяснять, почему они говорят что-то делать?) – Radiodef
Я могу сейчас дать вам урок по Интернету, в котором говорится все, что я хочу, включая полную ложь. Моя точка зрения заключается в том, что учебные пособия посвящены самым бедным качественным источникам информации, которые вы можете найти и которые можно взять с солью. Теперь, если вы найдете такое утверждение в прилично рассмотренной книге, написанной уважаемым автором или в статье, опубликованной Oracle, это другой вопрос. – Gimby