Разное

Java main: Метод main | Java | CodeBasics

Почему метод main является общедоступным статическим в Java

Метод main в Java — это первый метод программирования, который знает Java-программист, когда начинает изучать язык программирования Java. вы когда-нибудь думали о почему основной метод в Java является общедоступным, статическим и недействительным , конечно да, так как большинство из нас сначала изучают C и C++, чем мы переходим на Java в нашем пути программирования, мы знакомы с основным методом но в Java основной метод немного отличается, он не возвращает никакого значения, как в C, он возвращает целое, основной метод является общедоступным статическим и пустым Почему ?

В этом посте мы попытаемся найти ответы на эти вопросы и иметь представление об одном из самых популярных вопросов в Java

почему объявлен метод main Static

.

Какой основной метод в Java?

Основной метод в Java — это точка входа для любой основной программы Java.

Помните, что мы не говорим о Servlet, MIDlet или любой другой Java-программе, управляемой контейнером, где для управления выполнением предусмотрены методы жизненного цикла.

В основной программе Java выполнение начинается с основного метода, когда вы вводите java main-class-name, JVM ищет метод public static void main(String args[]) в этом классе, и если он не находит этот метод выдает ошибку NoSuchMethodError:main и завершает работу.

Подпись основного метода в Java

Основной метод должен строго следовать своему синтаксису; в противном случае JVM не сможет найти его, и ваша программа не запустится. Вот точная подпись основного метода


public static void main(String args[])

Эта сигнатура является классической сигнатурой с самого начала Java, но с введением переменного аргумента или varargs в Java5 вы также можете объявить метод main в Java с использованием синтаксиса varargs, как показано в следующем примере:

public static void main(String. .. args)

Помните, что версия основного метода Java с varargs будет работать только в Java 1.5 или более поздних версиях.

Помимо public, static и void, существуют определенные ключевые слова, такие как final, synchronized и strictfp, которые разрешены в сигнатуре основного метода java.

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

Теперь перейдем к главному. «Почему метод main является статическим в Java» , причин довольно много, но вот несколько причин, которые мне понятны:

1. Поскольку метод main является статическим Виртуальная машина Java может вызывать его без создания экземпляра класса, содержащего основной метод.

2. Так как C и C++ также имеют похожий метод main, который служит точкой входа для выполнения программы, следование этому соглашению поможет только Java.

3. Если бы основной метод не был объявлен статическим, тогда JVM должна создать экземпляр основного класса, а поскольку конструктор может быть перегружен и может иметь аргументы, для JVM не будет определенного и согласованного способа найти основной метод в Java .

4. Все, что объявлено в классе в Java, относится к ссылочному типу и требует создания объектов перед их использованием, но статический метод и статические данные загружаются в отдельную память внутри JVM, называемую контекстом, который создается при загрузке класса. Если основной метод статический, то он будет загружен в контексте JVM и доступен для выполнения.

Почему метод main является общедоступным в Java

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

Java, JVM может легко получить к нему доступ и выполнить его.

Почему метод main в Java недействителен

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

Резюме:

1. Основной метод должен быть объявлен общедоступным, статическим и недействительным в Java , иначе JVM не сможет запустить программу Java.

2. JVM выдает NoSuchMethodException:main , если не находит основной метод предопределенной подписи в классе, который предоставляется команде Java. Например. если вы запустите java Helloworld, JVM будет искать метод public static void main String args[]) в файле HelloWorld.class.

3. Метод main является точкой входа для любой программы Core Java. Выполнение начинается с основного метода.

4. Метод main запускается специальным потоком, называемым в Java «основным». Ваша Java-программа будет работать до тех пор, пока не запустится ваш основной поток или пока не запустится любой поток, не являющийся демоном, порожденный основным методом.

5. Когда вы видите «Исключение в основном потоке» , например,

Исключение в основном потоке: Java.lang.NullPointerException , это означает, что исключение генерируется внутри основного потока.

6. Вы можете объявить основной метод, используя синтаксис varargs, начиная с Java 1.5, например.

public static void main(String… args)

7. Помимо static, void и public, в сигнатуре основного метода в Java можно использовать модификатор final, synchronized и strictfp.

8. Основной метод в Java может быть перегружен, как и любой другой метод в Java, но JVM будет вызывать только основной метод с указанной выше сигнатурой.

9. Вы можете использовать предложение throws в сигнатуре основного метода и можете генерировать любое проверенное или непроверенное исключение.

10. Блок статического инициализатора выполняется еще до того, как JVM вызовет основной метод. Они выполняются, когда класс загружается в память с помощью JVM.

Некоторые учебные пособия, которые могут вам понравиться

Как разделить строку в программе Java

Как работает подстрока в Java

Как отладить программу Java в Eclipse — советы

Пример замены строки в Java

Фабричный шаблон в Java с примером

Шаблон декоратора в Java с примером

15 лучших вопросов для собеседования в Java

Как создать Java-метод main()

«Мы можем создавать различные методы внутри класса Java. Но метод main() в программах на Java обеспечивает точку входа или просто точку, с которой программа начинает выполняться. Для Java-программы необходимо предоставить по крайней мере один класс и один метод main(). Виртуальная машина Java всегда вызывает метод main() перед созданием любого объекта. В результате метод main() в Java критически важен для работы приложения. Более того, метод main() не имеет возвращаемого значения и также чувствителен к регистру. Когда main имеет тип Main, Java возвращает ошибку, потому что не может найти метод main()».

Пример 1

Простая программа на Java демонстрирует доступ к основному методу. В программе используется прототип Java-метода main().

Мы развернули метод main() внутри класса «MainMethodCase1». Прототипом метода main() в данном случае является «public static void main(string[] args»). Мы создали метод main() с модификаторами доступа. Эти модификаторы доступа необходимы для определения метода main() в Java. В противном случае компилятор java генерирует исключение. Здесь метод main() принимает аргумент «string[] args», который представляет собой массив строк. Затем мы использовали фигурные скобки, в которых заключен оператор печати. ​​

Когда программа Java выполняется в командной строке, она отображает оператор печати, установленный внутри метода main().

Теперь у нас есть случай метода main() Java, где модификатор private назначается вместо модификатора доступа public. Модификатор доступа public позволяет глобально обращаться к методу main() в программе.

При компиляции приведенного выше кода возникает ошибка, поскольку метод main() не является общедоступным.

У нас есть второй пример метода main() в Java, и здесь мы не использовали ключевое слово «static». Используя ключевое слово static, мы можем вызывать метод main() без создания экземпляра класса.

Следующая ошибка возникает, поскольку метод main() не является статическим методом main() Java.

Далее следует случай, когда ключевое слово «void» не используется с определением метода main(). Ключевое слово void также играет жизненно важную роль при создании метода main(). Когда ключевое слово void используется вместе с методом main(), оно не возвращает никакого значения при завершении программы.

Поскольку вышеприведенная программа, метод main() определен без ключевого слова void, что приводит к ошибке во время выполнения. Поэтому необходимо использовать void с методом main().

Пример 2

Мы уже видели прототип метода main() и его базовую реализацию в вышеупомянутом примере. Мы также можем вызвать и выполнить другую функцию внутри метода main() Java.

Мы создали класс «MainMethodCase2» с модификатором public и определили внутри него метод main(). Метод main() объявлен в системе печати, где мы вызвали другую функцию «Hello()» для выполнения. Функция Hello() устанавливается вне метода main(), который возвращает строковое сообщение. Если эта функция не вызывается внутри метода main(), то функция Hello() никогда не будет выполнена.

Функция Java main() служит отправной точкой для выполнения программы, которая интерпретирует каждую программу построчно, как показано в выходных данных.

Пример 3

Мы можем создавать различные методы main() внутри класса Java, но метод main() с синтаксисом «public static void main(string[] args)» всегда выполняется первым.

Сначала мы объявили класс Java «MainMethod3», в котором создали три метода main(). Первый метод main() принимает целочисленный объект «x» в качестве параметра, а основной блок содержит оператор печати, который является основным блоком «B». Затем мы создали метод main(), у которого нет значения аргумента, и этот метод также определяется оператором печати, что это основной блок «C». После этого мы использовали третий метод main() с его синтаксисом и взяли массив строк в качестве аргумента. Последний метод main() также указывается в операторе печати, который будет печатать; это основной блок «А».

Обратите внимание, что сначала на консоли вызывается процедура «public static void main(string[] args)». Два других метода main() были выполнены после этого, потому что этот метод содержит только простые операторы печати, не имеющие особого значения.

Пример 4

Кроме того, метод main() в Java также может быть перегружен, но никогда не переопределяет метод main() в Java. Мы можем указать любое целочисленное значение для метода main() в классе, но метод main() всегда имеет уникальную сигнатуру. Мы развернули пример перегруженного метода main() ниже.

У нас есть класс «MainMethodCase4», и мы реализовали два метода main() внутри класса. Сначала мы определили перегруженный метод main(), который принимает параметр «n» типа данных «int». Мы напечатали объект «n» внутри блока метода main(). Затем у нас есть еще один метод main(), который java-компилятор выполняет первым из-за его синтаксиса. Здесь у нас есть оператор печати, и мы вызвали первый определенный метод main(). Первый метод main() также указывается со значением объекта «n».

Вывод показывает выполнение метода main(string args), а также печатает целочисленное значение «n».

Пример 5

В методе main() программы также можно использовать стандартную библиотеку Java. Давайте посмотрим, как можно использовать стандартные библиотеки в методе main().

Мы создали класс «MainMethodCase5» программы. Затем мы установили метод java main(string[] args) с необходимыми модификаторами доступа. Затем мы использовали оператор печати в основном блоке. Оператор печати использует математическую библиотеку тригонометрических функций Java, которая возвращает результаты функций синуса, косинуса и тангенса значения, переданного в качестве аргумента.

Метод main(String[] args) выполняет значение для каждой указанной тригонометрической функции из стандартной математической библиотеки Java.

Заключение

Метод main() требуется в Java для выполнения программы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *