В Java 6 запуск класса происходит в следующей последовательности:
1) Происходит загрузка класса MainClass;
2) Выполняется инициализация класса, при этом выполненяются блоки статической инициализации;
3) И после этого JVM могла бы попытаться вызвать метод main(), которого в классе MainClass нет. Но в статическом блоке уже произошло завершение программы вызовом System.exit(0).
В Java 7 последовательность действий немного изменилась – резолвинг метода main выполняется до инициализации класса. Поэтому сразу выбрасывается NoSuchMethodException, в обработчике которого выводится сообщение
Error: Main method not found in class MainClass, please define the main method as:
public static void main(String[] args)
Войдите чтобы поставить Нравится
Войдите чтобы прокомментировать