Привет Читатель!!! Я надеюсь, что вы и ваша семья в безопасности.
Ниже приведен список вопросов, которые интервьюер может задать по методу 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, если вам нужны советы по кодированию, подготовке к собеседованию и советы по собеседованию. Ознакомьтесь с другими моими статьями, ориентированными на интервью, здесь.
Спасибо!!!