Gymterview
junior

Что вы знаете о функции `main()`?

Метод main() — точка входа в Java-программу. JVM ищет именно этот метод при запуске приложения.

Классическая сигнатура

Пример
public static void main(String[] args) {}

Параметр args может быть также объявлен как varargs:

Пример
public static void main(String... args) {}

В приложении может быть несколько классов с методом main(). Если метод отсутствует в указанном при запуске классе, будет получена ошибка Error: Main method not found.

Упрощённый запуск (Java 21+)

Начиная с Java 21 (JEP 445, preview; JEP 463 в Java 22; стандартизировано в Java 25), доступны безымянные классы (unnamed classes) и методы экземпляра main(). Это позволяет писать минимальные программы без public, static и String[] args:

Пример
// файл HelloWorld.java — весь файл является безымянным классом
void main() {
    System.out.println("Hello, World!");
}

JVM при запуске ищет метод main() в следующем приоритете: static void main(String[]) > static void main() > void main(String[]) > void main().