#java
#java
Вопрос:
У меня есть сомнения в приведенном ниже фрагменте кода. Я хотел знать, почему код компилируется и выполняется правильно, даже если метод main отсутствует?
import acm.program.*;
public class HelloConsole extends ConsoleProgram {
public void run() {
println("hello, world");
}
}
Спасибо.
Ответ №1:
Это сделано по дизайну программных классов ACM. Смотрите javadocs:
Традиционный шаблон использования, связанный с пакетом acm.program, уводит студентов от императивного стиля public static void main к более педагогически оправданной структуре, в которой студенты всегда работают в контексте объекта.
В этом случае вы переопределяете методы init / run в отличие от написания метода main.
Ответ №2:
Потому что consoleprogram расширяет класс program, который содержит метод main.