Cosa significa “public static void main args”?

Non sono sicuro di cosa significhi, ogni volta che scrivi un codice, la gente lo dice

public static void main(String[] args) { 

Cosa significa?

Ecco una spiegazione un po ‘dettagliata sul perché il metodo principale è dichiarato come

 public static void main(String[] args) 

Il metodo principale è il punto di ingresso di un programma Java per Java Virtual Machine (JVM). Diciamo che abbiamo una class chiamata Sample

 class Sample { static void fun() { System.out.println("Hello"); } } class Test { public static void main(String[] args) { Sample.fun(); } } 

Questo programma verrà eseguito dopo la compilazione come java Test . Il comando java avvierà la JVM e caricherà la nostra class Test.java nella memoria. Poiché principale è il punto di ingresso per il nostro programma, JVM cercherà il metodo principale dichiarato public , static e non void .

Perché il principale deve essere dichiarato pubblico?

main() deve essere dichiarato public perché, come sappiamo, viene invocato da JVM ogni volta che viene avviata l’esecuzione del programma e JVM non appartiene al nostro pacchetto di programmi.

Per accedere al main al di fuori del pacchetto dobbiamo dichiararlo come public . Se lo dichiariamo come qualcosa di diverso da public , mostra un Run time Error ma non un Compilation time error .

Perché il main deve essere dichiarato statico?

main() deve essere dichiarato come statico perché JVM non sa come creare un object di una class, quindi ha bisogno di un modo standard per accedere al metodo principale che è ansible dichiarando main() come static .

Se un metodo è dichiarato come static , possiamo chiamare tale metodo al di fuori della class senza creare un object usando la syntax ClassName.methodName(); .

In questo modo, JVM può chiamare il nostro metodo principale come .

Perché il main deve essere dichiarato nullo?

main() deve essere dichiarato nullo poiché JVM non prevede alcun valore da main() . Quindi, deve essere dichiarato void .

Se viene fornito un altro tipo di restituzione, si tratta di un object RunTimeError , ovvero RunTimeError .

Perché main deve avere gli argomenti Array di stringhe?

main( ) deve avere argomenti String come array perché JVM chiama il metodo main passando l’argomento della riga di comando. Dato che sono memorizzati nell’array string object, viene passato come argomento a main() .

Secondo la specifica del linguaggio Java, l’esecuzione di un programma Java inizia dal metodo main (). Un metodo main () dovrebbe seguire la syntax specifica, può essere spiegato come:

 public static void main(String[] args) 

public – L’identificatore di accesso, mostra che main() è accessibile a tutte le altre classi.

void – return type, main() non restituisce nulla.

String args[] – argomenti del metodo main() , che dovrebbe avere una matrice di tipo string.

static – modificatore di accesso. Un metodo principale dovrebbe sempre essere statico, perché il metodo `main () ‘può essere chiamato senza creare un’istanza della class.

Supponiamo, stiamo eseguendo un programma java di Helloworld.

Durante l’esecuzione del programma, usiamo il comando

 java Helloworld. 

Internamente, questo comando è convertito in

 Helloworld.main() 

Rendendo statico il metodo main() , JVM chiama il metodo main() senza creare prima un object.

  • Public = Questo metodo è visibile a tutte le altre classi.

  • static = Questo metodo non necessita di un’istanza da eseguire.

  • void = Questo metodo non restituisce nulla.

  • main() = Metodo principale (Primo metodo da eseguire).

  • String[] = Array of string.

  • args = nome dell’array.

In Java il tuo metodo principale deve essere sempre:

 public static void main(String args[]) 
  1. L’esecuzione del programma inizia con la funzione main() , quindi la funzione main() .

  2. Deve essere public modo che sia accessibile all’ambiente esterno.

  3. Il metodo main() è sempre statico perché, come sapete, l’esecuzione del programma inizia con il metodo main() e non vi è alcuna istanza della class che contiene il metodo main() . Quindi, poiché il metodo statico può essere eseguito senza necessità di alcuna istanza, viene dichiarato statico.

  4. Java è indipendente dalla piattaforma, quindi puoi provare a compilare il file java su un sistema e provare a eseguire il file di class su un altro. L’architettura dei bit di ciascuna macchina può essere diversa, quindi il tipo di ritorno della funzione principale deve sempre essere main() .

Spero che questo ti aiuti.

public -> Specificatore di accesso. Qualsiasi altra class può accedere a questo metodo.

static -> Il metodo è associato alla class, non a un’istanza della class.

void -> Tipo di reso. Il metodo non restituisce nulla.

main(String[] args) -> nome del metodo è main() . Prende un array di String come argomento. Gli argomenti String[] sono argomenti della riga di comando.

Nota : il metodo main() sopra definito è il punto di ingresso di un programma, se si modifica la firma, il programma potrebbe non essere eseguito.