Навіть тому, що ОП говорить лише про те String[] args
, я хочу навести повний приклад public static void main(String[] args)
.
Public
: - це модифікатор доступу , який визначає, хто може отримати доступ до цього методу. Громадський означає, що цей метод буде доступний будь-якому класу (якщо інші класи можуть отримати доступ до цього класу.)
Static
: - ключове слово, яке ідентифікує річ, пов’язану з класом. Це означає, що даний метод або змінна пов'язана не з екземплярами, а з класом. До нього можна отримати доступ, не створюючи примірник класу.
Void
: використовується для визначення типу повернення методу. Він визначає, що метод може повернути. Недійсна означає, що Метод не поверне жодного значення.
main
: - назва Методу. Назва цього методу шукається JVM як вихідна точка для програми лише з певним підписом.
String[] args
: - параметр основного методу.
Якщо ви подивитесь на вихідний код JDK (jdk-src \ j2se \ src \ share \ bin \ java.c):
/* Get the application's main method */
mainID = (*env)->GetStaticMethodID(env, mainClass, "main",
"([Ljava/lang/String;)V");
...
{ /* Make sure the main method is public */
...
mods = (*env)->CallIntMethod(env, obj, mid);
if ((mods & 1) == 0) { /* if (!Modifier.isPublic(mods)) ... */
message = "Main method not public.";
messageDest = JNI_TRUE;
goto leave;
...
Ви можете бачити, що метод запуску в java повинен бути названий main
і повинен мати конкретну підписpublic static void main(String[] args)
Код також повідомляє нам, що значення public static void main(String[] args)
не виправлено, якщо ви зміните код (jdk-src \ j2se \ src \ share \ bin \ java.c) на інший підпис, він буде працювати, але якщо змінити це, ви створите інші можливі проблеми через специфікації java
Оффтопік: Минуло 7 років з того часу, як ОП задало це питання, я гадаю, що ОП вже може відповісти на власне запитання.
args
не обов’язково називати йогоargs
(ви можете назвати його все, що завгодно) - хоча найкраще дотримуватися конвенції. Ви також можетеString... args
час від часу бачити , що рівнозначно.