Я понимаю, почему используется public static void main, я также знаю, что String [] args создает одномерный массив, называемый args, который содержит строки. Но почему мы должны иметь это в скобках?Почему мы обычно запускаем программы с помощью public static void main ('String [] args')?
ответ
String[] args
должен предоставить все аргументы, которые могут быть доставлены вашей программе из командной строки. Скажем, например, вы хотели, чтобы путь к файлу был основным, вы можете ввести его в командной строке и передать это как первый элемент массива. Это позволяет вам ничего не пропускать, или многие вещи при запуске вашего main
.
Язык Java был указан, что метод main
должен принимать только один параметр типа String[]
. Его можно назвать любым действительным идентификатором, который вы хотите; это только соглашение, что оно называется args
. Это может быть даже String...
. Вот спецификация, от JLS, Section 12.1.4:
Метод
main
должен быть объявленpublic
,static
иvoid
. Он должен указать формальный параметр (§8.4.1), объявленным типом которого является массивString
. Таким образом, одним из следующих деклараций приемлемо:public static void main(String[] args) public static void main(String... args)
Это может быть даже
public static void main(String[] zzyzx)
но параметр должен быть там.
Он спрашивает о скобках не параметр. – dvallejo
@dvallejo «Это» в «Но почему мы должны иметь это в скобках?» относится к «1-D массиву, называемому args, который содержит строки», самое последнее, о чем говорится в вопросе, если OP не хочет прояснять, путем редактирования вопроса, чтобы быть более ясным. – rgettman
На этот вопрос лучше ответить новичка Java-книги, где они могут охватить этот вопрос более подробно. – FreshWaterTaffy
http://stackoverflow.com/questions/890966/what-is-string-args-parameter-in-main-method-java – AzNjoE