Привет Читатель!!! Я надеюсь, что вы и ваша семья в безопасности.

Ниже приведен список вопросов, которые интервьюер может задать по методу main в java.

1.) Объясните значение каждого слова в public static void main?

2.) Будет ли работать программа, если я напишу static public void main вместо public static void main?

3.) Почему основной метод статичен в java?

4.) Что произойдет, если метод main не объявлен как статический?

5.) Что делать, если основной метод объявлен как закрытый?

6.) Что если я напишу String a[] вместо String args[] в аргументе основного метода?

Прежде чем мы двинемся дальше, давайте немного познакомимся…

Метод main является отправной точкой программы или приложения в java. Поэтому, когда мы запускаем код Java, JVM сначала вызывает основной метод. Короче говоря, JVM (виртуальная машина Java) нуждается в методе main, чтобы начать выполнение программы Java.

class People
{
   public static void main (String[] args)
   {
    // your code goes here
   }
}

См. приведенный выше код один раз. У нас есть класс People, и метод main определен внутри класса People. Мы используем этот класс в качестве ссылки, чтобы понять эту тему.

public: это спецификатор доступа, который сообщает, кто может получить доступ к этому методу. «public» гарантирует, что метод доступен глобально, поэтому к нему можно получить доступ из любого места. Метод main делается общедоступным, чтобы JVM могла вызывать его извне, поскольку JVM не присутствует внутри класса People.

static: когда метод или переменная определены как static, тогда они называются методом класса или переменной класса соответственно, т. е. к ним можно получить доступ без создания объекта. Поэтому нам не нужен объект для вызова метода main. Помните об этом.

void: указывает возвращаемый тип метода. «void» означает, что метод main не возвращает никакого значения.

main: это имя метода.

String args[]: это аргумент метода main. Вы можете оставить любое имя аргумента. Нет необходимости хранить только аргументы. Вы можете оставить любое имя, например а, б, ашай, ваше имя и т. д.

Теперь давайте рассмотрим каждый вопрос один за другим.

1.) Объясните значение каждого слова в public static void main?

Ответ: Мы только что закончили это выше.

2.) Будет ли программа работать, если я напишу static public void main вместо public static void main?

Ответ: Да, он будет успешно скомпилирован и запущен. Вы также можете попробовать ide.

3.) Почему метод main в Java статический?

Ответ: «static» позволяет JVM вызывать метод main без создания объекта класса People. Если static нет, то JVM необходимо создать объект класса People для вызова основного метода, но проблема в том, что создание объекта зависит от конструктора класса People. Давайте разбираться.

a.) Если класс People не содержит конструктора или имеет конструктор без параметров, то для доступа к основному методу нашим объектом будет People obj = new People().

б.) Если класс People содержит конструктор с одним параметром, то для доступа к основному методу наш объект будет People obj = new People(some value).

c.) Если класс People содержит конструктор с несколькими параметрами (два или более), то для доступа к основному методу наш объект будет People obj = new People(value1, value2, …..) зависит от количество параметров.

Короче говоря, JVM необходимо создать объект на основе конструктора, присутствующего в классе People. Ненужное усложнение. Кроме того, какое значение JVM должна передавать для параметризованных конструкторов. Таким образом, двусмысленно, то есть неясно. Таким образом, создание объектов приведет к сложности и неоднозначности. Следовательно, main является статическим в java.

4.) Что произойдет, если функция main() не объявлена ​​как статическая?

Ответ: Программа успешно компилируется. Но во время выполнения выдает ошибку:

Error: Main method is not static in class People, please define the main method as:
   public static void main(String[] args)

5.) Что делать, если основной метод объявлен как закрытый?

Ответ: Программа успешно компилируется. Но во время выполнения выдает ошибку:

Error: Main method not found in class People, please define the main method as:
   public static void main(String[] args)

6.) Что, если я напишу String a[] вместо String args[] в аргументе основного метода?

Ответ: Кажется, я уже ответил на него выше. Надеюсь, ты помнишь.

Надеюсь, вы поняли всю историю.

Не стесняйтесь задавать свои сомнения в комментариях. Хотите поблагодарить меня? Купи мне кофе.

Пожалуйста, аплодируйте, подпишитесьи поделитесь с друзьями, если найдете это полезно или если это добавляет ценность для вас.

Свяжитесь со мной на LinkedIn, если вам нужны советы по кодированию, подготовке к собеседованию и советы по собеседованию. Ознакомьтесь с другими моими статьями, ориентированными на интервью, здесь.

Спасибо!!!