Это только мои мысли:
main() — это статический метод, не связанный с экземплярами объекта. Мы знаем, что он существует как точка входа, которая делает нашу программу/класс исполняемым.
Дело в том, что в Java все (кроме примитивов) является объектом, поэтому main() должен быть где-то объявлен в каком-то классе. Код, который может выполнять такой статический метод, больше связан с настройкой программы для выполнения и делегированием нашей бизнес-логике (объектам, которые действительно что-то делают) запуск приложения. Таким образом, его забота отличается от остального нашего класса (который определяет некоторые данные и поведение, которые мы пытаемся инкапсулировать).
main() на самом деле не относится к данным и поведению наших повседневных классов, так как я сомневаюсь, что каждый класс должен быть исполняемым сам по себе. main() занимается запуском нашей программы. Таким образом, он должен быть объявлен отдельно от наших бизнес-объектов, в модуле проекта, связанном с запуском/выполнением приложения. Итак, как вы могли догадаться, я предлагаю именно то, что вы сказали не предлагать - держать main подальше от ваших классов и логики, насколько это возможно, и объявлять его только в контексте точки входа в ваше приложение.
Что касается местоположения в самом файле, я не думаю, что это имеет значение, если очевидно, что код в этом файле связан с настройкой и запуском программы.
person
filip-fku
schedule
27.10.2011