To jest pytanie, które spotkałem w wywiadzie.
Dlaczego metoda main w Javie jest nazywana public static void main (String [] args)?
Odpowiedź:
1. Funkcja main () musi być zadeklarowana jako publiczna, ponieważ jest wywoływana przez maszynę JVM za każdym razem, gdy rozpoczyna się wykonywanie programu. JVM nie należy do naszego pakietu programu.
Aby uzyskać dostęp do maina poza pakietem, musimy zadeklarować go jako publiczny.Jeśli zadeklarujemy go jako coś innego niż publiczny, wyświetla się błąd wykonania, ale nie błąd czasu kompilacji
2. main () musi być zadeklarowane jako statyczne, ponieważ jeśli metoda jest zadeklarowana jako statyczna, wówczas możemy wywołać tę metodę poza klasą za pomocą ClassName.methodName ();
class Sample
{
static void fun()
{
System.out.println("Hello");
}
}
class Test
{
public static void main(String[] args)
{
Sample.fun();
}
}
JVM najpierw załaduje klasę Test, sprawdzi argumenty wiersza poleceń i wywoła metodę główną jako Test.main ();
3. main () musi być zadeklarowane jako nieważne main (), ponieważ maszyna JVM nie oczekuje żadnej wartości z funkcji main ().
Jeśli podano inny typ zwracany, jest to RunTimeError, tj. NoSuchMethodFoundError.
4. Funkcja main () musi mieć argumenty typu String jako tablice, ponieważ JVM wywołuje metodę main, przekazując argument wiersza poleceń. Ponieważ są one przechowywane w obiekcie tablicy łańcuchowej, są one przekazywane jako argument do funkcji main ().