Это вопрос, с которым я столкнулся в своем интервью.
Почему основной метод в Java называется public static void main (String [] args)?
Ответ:
1. main () должен быть объявлен общедоступным, поскольку он вызывается JVM всякий раз, когда запускается выполнение программы. JVM не принадлежит нашему программному пакету.
Чтобы получить доступ к main вне пакета, мы должны объявить его как общедоступный. Если мы объявляем его как что-то другое, кроме общедоступного, он показывает ошибку времени выполнения, но не ошибку времени компиляции
2. main () должен быть объявлен как статический, потому что, если метод объявлен как статический, мы можем вызвать этот метод вне класса, используя ClassName.methodName ();
class Sample
{
static void fun()
{
System.out.println("Hello");
}
}
class Test
{
public static void main(String[] args)
{
Sample.fun();
}
}
JVM сначала загрузит класс Test, проверит аргументы командной строки и вызовет основной метод как Test.main ();
3. main () должен быть объявлен как void main (), потому что JVM не ожидает какого-либо значения от main (). Поэтому он должен быть объявлен как void.
Если предоставляется другой тип возвращаемого значения, это RunTimeError, то есть NoSuchMethodFoundError.
4. main () должен иметь аргументы String в виде массивов, потому что JVM вызывает основной метод, передав аргументы командной строки. Поскольку они хранятся в объекте массива строк, они передаются в качестве аргумента функции main ().