Jak widać, główny z wyjątkiem jednego argumentu funkcji - który jest tablicą ciągów. JVM dba o przekazywanie wszelkich argumentów wiersza poleceń jako tablicy łańcuchów do głównej funkcji. Jeśli nie podano żadnych argumentów, pusta tablica jest przekazywana - ale wciąż tam jest.
Można by również mieć swój własny funkcja zdefiniowana jako to:
void myMain(String args[]) {
for(int i = 0; i < args.length; i++) {
System.out.println(args[i]);
}
}
Następnie można wywołać tej funkcji emulacji przechodzącej trzy argumenty wiersza polecenia:
String a[] = {"foo", "bar", "bah"};
myMain(a);
Albo można naśladować sytuację gdzie nie podano argumentów wiersza polecenia:
String a[] = {};
myMain(a);
Można również przekazać args
z prawdziwym głównym do swojej funkcji i będzie działać niezależnie od tego czy jakiekolwiek parametry zostały podane czy nie:
public static void main(String[] args) {
myMain(args);
}
Zauważ, że nie ma zerowy sprawdzić wskaźnik w myMain
więc jeśli go przekazywać null
będzie rzucać NPE.
Czy możesz być bardziej jasne, w jaki sposób wykonujesz aplikację zi bez parametrów? – medopal
Powiązana odpowiedź, możesz zrobić to samo, jak w 'public void myMethod (String ... array)' w ten sposób możesz przekazać niecałkowitą liczbę argumentów nawet 0, i to nie spowoduje błędu. – medopal