Questa è la domanda che ho affrontato nella mia intervista.
Perché il metodo principale in Java viene chiamato main vuoto statico pubblico (String [] args)?
Risposta:
1. main () deve essere dichiarato pubblico perché viene invocato da JVM ogni volta che inizia l'esecuzione del programma. JVM non appartiene al nostro pacchetto di programmi.
Per accedere a main al di fuori del pacchetto, dobbiamo dichiararlo come pubblico. Se lo dichiariamo come qualsiasi cosa diversa da pubblico, mostra un errore di runtime ma non un errore di tempo di compilazione
2. main () deve essere dichiarato come statico perché se un metodo viene dichiarato come statico, allora possiamo chiamarlo al di fuori della classe usando ClassName.methodName ();
class Sample
{
static void fun()
{
System.out.println("Hello");
}
}
class Test
{
public static void main(String[] args)
{
Sample.fun();
}
}
La JVM caricherà prima la classe Test, verificherà gli argomenti Commandline e chiamerà il metodo principale come Test.main ();
3. main () deve essere dichiarato nullo main () perché JVM non si aspetta alcun valore da main (), quindi deve essere dichiarato nullo.
Se viene fornito un altro tipo di ritorno, si tratta di RunTimeError, ovvero NoSuchMethodFoundError.
4. main () deve avere argomenti String come matrici perché JVM chiama il metodo principale passando l'argomento della riga di comando. Poiché sono memorizzati nell'oggetto array di stringhe, viene passato come argomento a main ().