In java, ho sempre bisogno di una classe principale?


So che avrò bisogno di un metodo main, ma quel metodo main può essere in una classe diversa dalla classe Main?

Author: Ethan Watson, 2016-01-27

3 answers

Non tutte le applicazioni Java richiedono un metodo main.

Java può essere utilizzato anche per creare applicazioni Web, ad esempio, che non richiedono metodi principali per l'esecuzione.

La risposta alla tua domanda dipende da cosa intendi esattamente. Intendi una classe con il nome 'Principale'? Allora, no, non c'è alcun requisito per questo a tutti.

L'unico requisito che Java ha è che la firma del metodo sia corretta. il metodo principale deve:

  • essere pubblico
  • essere principale
  • essere statico
  • hanno returntype void
  • accetta un array di stringhe come parametro (solo)

È più semplice aggiungerlo nella classe pubblica in un file, ma non obbligatorio. Il nome della classe in cui si trova dipende interamente da te, anche se molti sceglieranno un nome come 'Main' o 'Open', semplicemente per trovarlo più facilmente.

Se si vuole essere in grado di eseguire l'applicazione, semplicemente facendo doppio clic sul .file jar, è necessario puntare alla classe che contiene il metodo principale (da usare: l'applicazione potrebbe contenere molte classi principali, utilizzate per i test interni, ma solo una può essere utilizzata per avviare l'applicazione effettiva) nel file manifest: Manifest files

Prima di Java 7, era possibile eseguire un'applicazione desktop senza un metodo main, utilizzando (ab)un blocco di istanziazione, ma questo è stato rimosso da Java 7, perché questo non è ciò a cui era destinato il blocco di istanziazione.

 5
Author: Stultuske, 2016-01-27 07:26:07

Non è necessario definire il metodo principale yout in una classe principale. Puoi posizionare il tuo metodo principale dove vuoi, a patto che la sintassi corregga:

public static void main (String[] args){
//...
} 
 0
Author: i23, 2016-01-27 07:14:30

Assolutamente no.

Il metodo stesso può essere posizionato ovunque tu voglia che sia, non ci sono limitazioni.

Tuttavia, personalmente consiglierei di metterlo in una classe che contenga almeno qualcosa come "Main", perché quando gli altri guardano il tuo codice e non usano un IDE che supporta il salto al metodo main, le persone di solito hanno un tempo più facile trovare il tuo punto di partenza.

Tuttavia, questo è solo per motivi di leggibilità, e come ho detto, saltare a main è/dovrebbe essere di solito una funzionalità supportata diffusa

 0
Author: Sossenbinder, 2016-01-27 07:20:34