Автор оригинала: Pankaj Kumar.
public static void main(String[] args)
является наиболее важным методом Java. Когда вы начинаете изучать программирование на Java, это первый метод, с которым вы сталкиваетесь. Помните первую написанную вами программу Java Hello World, которая запускает и печатает “Hello World”?
общедоступная статическая пустота main(строка[] args)
Основной метод Java-это точка входа в любую программу java. Его синтаксис всегда public static void main(String[] args)
. Вы можете изменить только имя аргумента массива строк, например, вы можете изменить args
на мои строковые аргументы
.
Также аргумент массива строк может быть записан как Строка... аргументы
или Строковые аргументы[]
.
Давайте внимательно рассмотрим основной метод java и попытаемся понять каждую из его частей.
общественный
Это модификатор доступа основного метода. Он должен быть общедоступным
, чтобы среда выполнения java могла выполнить этот метод. Помните, что если вы делаете какой-либо метод непубличным, то он не может быть выполнен какой-либо программой, применяются некоторые ограничения доступа. Таким образом, это означает, что основной метод должен быть общедоступным. Давайте посмотрим, что произойдет, если мы определим основной метод как непубличный.
public class Test { static void main(String[] args){ System.out.println("Hello World"); } }
$ javac Test.java $ java Test Error: Main method not found in class Test, please define the main method as: public static void main(String[] args) or a JavaFX application class must extend javafx.application.Application $
статический
Когда запускается среда выполнения java, объект класса отсутствует. Вот почему основной метод должен быть статическим, чтобы JVM могла загрузить класс в память и вызвать основной метод. Если основной метод не будет статическим, JVM не сможет его вызвать, потому что в нем нет объекта класса. Давайте посмотрим, что произойдет, когда мы удалим статику из основного метода java.
public class Test { public void main(String[] args){ System.out.println("Hello World"); } }
$ javac Test.java $ java Test Error: Main method is not static in class Test, please define the main method as: public static void main(String[] args) $
пустота
Программирование на Java требует, чтобы каждый метод предоставлял тип возвращаемого значения. Основной метод Java ничего не возвращает, поэтому его тип возврата void
. Это было сделано для упрощения, потому что, как только основной метод завершается, программа java завершается. Поэтому нет смысла что-либо возвращать, JVM ничего не может сделать для возвращаемого объекта. Если мы попытаемся вернуть что-то из основного метода, это приведет к ошибке компиляции в виде неожиданного возвращаемого значения. Например, если у нас есть основной метод, как показано ниже.
public class Test { public static void main(String[] args){ return 0; } }
Мы получаем ошибку ниже, когда вышеописанная программа компилируется.
$ javac Test.java Test.java:5: error: incompatible types: unexpected return value return 0; ^ 1 error $
главный
Это имя основного метода java. Это исправлено, и когда мы запускаем программу на Java, она ищет основной метод. Например, если у нас есть класс, как показано ниже.
public class Test { public static void mymain(String[] args){ System.out.println("Hello World"); } }
И мы попытаемся запустить эту программу, она выдаст ошибку, что основной метод не найден.
$ javac Test.java $ java Test Error: Main method not found in class Test, please define the main method as: public static void main(String[] args) or a JavaFX application class must extend javafx.application.Application $
Строка[] args
Метод Java main принимает один аргумент типа String array. Это также называется аргументами командной строки java. Давайте рассмотрим пример использования аргументов командной строки java.
public class Test { public static void main(String[] args){ for(String s : args){ System.out.println(s); } } }
Выше приведена простая программа, в которой мы печатаем аргументы командной строки. Давайте посмотрим, как передавать аргументы командной строки при выполнении вышеуказанной программы.
$ javac Test.java $ java Test 1 2 3 1 2 3 $ java Test "Hello World" "Pankaj Kumar" Hello World Pankaj Kumar $ java Test $
Аргументы командной строки основного метода Java в Eclipse
На приведенных ниже изображениях показано, как передавать аргументы командной строки при выполнении программы java в Eclipse.
Это все для public static void main(String[] args)
, основной метод java.