main
не является ключевым словом в java. Как JVM знает, как выполнить метод main
в качестве отправной точки для любой программы?
Как JVM использует "Основной метод" для запуска программы Java?
Ответ 1
main
не обязательно должно быть ключевым словом в java, чтобы JVM мог найти его в начале выполнения. Не существует конфликта с другими методами или переменными, также называемыми main
. Это просто то, как была разработана спецификация JVM. Скорее всего, он был заимствован на языке c.
Ссылки на Java: ключевые слова, вызов main.
Ответ 2
Он просто указан в JLS.
12 Выполнение
...
Виртуальная машина Java запускается путем загрузки указанного класса и последующего вызова метода
main
в этом указанном классе. Раздел §12.1 описывает шаги загрузки, компоновки и инициализации, выполняемые при выполненииmain
, в качестве введения к концепциям в этой главе. Дальнейшие разделы описывают детали загрузки (§12.2), связывая (§12.3 ) и инициализация (§12.4)....
12.1 Запуск виртуальной машины
Виртуальная машина Java запускает выполнение, вызывая метод
main
определенного класса, передавая ему единственный аргумент, который представляет собой массив строк. В примерах в этой спецификации этот первый класс обычно называетсяTest
....
12.1.4 Вызовите Test.main
Наконец, после завершения инициализации для класса
Test
(в течение которого могла произойти другая последующая загрузка, связывание и инициализация), вызывается методmain
ofTest
.Метод
main
должен быть объявленpublic
,static
иvoid
. Он должен принять один аргумент, который представляет собой массив строк.
Ответ 3
Он вызывает этот метод с помощью отражения. Например, вы можете посмотреть источники Java Web Start
Ответ 4
В принципе, каждый язык был более или менее похож на своего предшественника. На языке C это main(), который выполняется сначала, но не обязательно, чтобы это происходило все время. Также могут выполняться программы без основного метода. Итак, это просто соглашение, по которому сначала вызывается основной метод.
проверьте:
Ответ 5
Main - это, в основном, универсальный индикатор центрального метода, поэтому Java автоматически делает его центральным методом при условии публичного статического
public static void main