Что означает каждое ключевое слово в сигнатуре метода main в Java?

«Что означает каждое ключевое слово в сигнатуре метода main в Java?» — вопрос из категории Java Core, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Сигнатура public static void main(String[] args) — это стандартная точка входа в Java-приложение. Каждое слово имеет строгое назначение:

  1. public — модификатор доступа. Метод должен быть доступен виртуальной машине Java (JVM) извне класса, поэтому он объявляется публичным.
  2. static — означает, что метод принадлежит классу, а не конкретному экземпляру объекта. JVM вызывает метод, не создавая объект класса.
  3. void — указывает, что метод не возвращает никакого значения. Точка входа завершает работу, возвращая управление JVM, а не вызывающему коду.
  4. main — имя метода, закрепленное соглашением. JVM ищет именно метод с таким именем.
  5. String[] args — параметр метода. Это массив строк (String[]), который содержит аргументы командной строки, переданные при запуске программы.

Практический пример:

public class CommandLineApp {
    public static void main(String[] args) {
        System.out.println("Количество аргументов: " + args.length);
        for (int i = 0; i < args.length; i++) {
            System.out.println("Аргумент [" + i + "]: " + args[i]);
        }
    }
}

Запуск и вывод:

java CommandLineApp Hello World 123
# Количество аргументов: 3
# Аргумент [0]: Hello
# Аргумент [1]: World
# Аргумент [2]: 123