Risposte:
Sono tre cose completamente diverse:
public
significa che il metodo è visibile e può essere chiamato da altri oggetti di altri tipi. Altre alternative sono private
, protected
, package
e package-private
. Vedi qui per maggiori dettagli.
static
significa che il metodo è associato alla classe, non a un'istanza specifica (oggetto) di quella classe. Ciò significa che è possibile chiamare un metodo statico senza creare un oggetto della classe.
void
significa che il metodo non ha valore di ritorno. Se il metodo restituisse un int
, scriverebbe int
invece di void
.
La combinazione di tutti e tre questi è più comunemente vista sul main
metodo che includerà la maggior parte dei tutorial.
Le tre parole hanno significati ortogonali.
public
significa che il metodo sarà visibile dalle classi in altri pacchetti.
static
significa che il metodo non è associato a un'istanza specifica e non ha " this
". È più o meno una funzione.
void
è il tipo restituito. Significa "questo metodo non restituisce nulla".
La parola chiave pubblica è un identificatore di accesso, che consente al programmatore di controllare la visibilità dei membri della classe. Quando un membro della classe è preceduto dal pubblico, è possibile accedere a quel membro tramite un codice esterno alla classe in cui è dichiarato. (L'opposto del pubblico è privato, il che impedisce a un membro di essere utilizzato da un codice definito al di fuori della sua classe.)
In questo caso, main( )
deve essere dichiarato come pubblico, poiché deve essere chiamato da un codice esterno alla sua classe all'avvio del programma.
La parola chiave static consente main( )
di essere chiamata senza dover creare un'istanza di una determinata istanza della classe. Ciò è necessario poiché main( )
viene chiamato dall'interprete Java prima che vengano creati eventuali oggetti.
La parola chiave void indica semplicemente al compilatore che main( )
non restituisce un valore. Come vedrai, i metodi possono anche restituire valori.
Significa che:
public
- può essere chiamato da qualsiasi luogostatic
- non ha alcuno stato oggetto, quindi puoi chiamarlo senza creare un'istanza di un oggettovoid
- non restituisce nullaPenseresti che la mancanza di un ritorno significhi che non sta facendo molto, ma potrebbe salvare cose nel database, ad esempio.
Significa tre cose.
Innanzitutto public
significa che qualsiasi altro oggetto può accedervi.
static
significa che la classe in cui risiede non deve essere istanziata prima di poter chiamare la funzione.
void
significa che la funzione non restituisce un valore.
Dal momento che stai solo imparando, non preoccuparti troppo dei primi due fino a quando non impari le lezioni, e il terzo non importerà molto fino a quando non inizi a scrivere funzioni (tranne che principale).
Il miglior consiglio che ho ricevuto quando ho imparato a programmare e che ti passo avanti non è preoccuparti dei piccoli dettagli che non capisci subito. Ottieni un'ampia panoramica dei fondamenti, quindi torna indietro e preoccupati dei dettagli. Il motivo è che devi usare alcune cose (comepublic static void
) nei tuoi primi programmi che non possono davvero essere spiegate bene senza insegnarti prima un sacco di altre cose. Quindi, per il momento, accetta solo che è così e vai avanti. Li capirai a breve.
Considerando la tipica classe di alto livello. Solo i modificatori di accesso al modificatore pubblico e nessun modificatore possono essere utilizzati al livello superiore, quindi vedrai pubblico o non vedrai alcun modificatore di accesso.
`statico`` viene utilizzato perché potrebbe non essere necessario creare un oggetto reale al livello più alto (ma a volte lo vorrai, quindi potresti non sempre vedere / utilizzare statico. Ci sono altri motivi per cui non dovresti includere statico anche questo è quello tipico al livello più alto.)
void
viene utilizzato perché di solito non restituirai un valore dal livello superiore (classe). (a volte ti consigliamo di restituire un valore diverso da NULL
così void potrebbe non essere sempre utilizzato, soprattutto nel caso in cui tu abbia dichiarato, inizializzato un oggetto al livello più alto al quale stai assegnando un valore).
Disclaimer: sono anch'io un principiante, quindi se questa risposta è errata in qualsiasi modo, per favore non impiccarmi. Di giorno sono un reclutatore di tecnologia, non uno sviluppatore; la programmazione è il mio hobby. Inoltre, sono sempre aperto a critiche costruttive e adoro imparare, quindi non esitare a segnalare eventuali errori.
public
significa che puoi accedere alla classe da qualsiasi punto della classe / oggetto o al di fuori del pacchetto o della classestatic
significa costante in cui blocco di istruzioni usato solo 1 voltavoid
significa nessun tipo di ritornoPublic
- significa che la classe (programma) è disponibile per l'uso da qualsiasi altra classe.
Static
- crea una classe. Può anche essere applicato a variabili e metodi, rendendoli metodi / variabili di classe anziché solo locali in una particolare istanza della classe.
Void
- ciò significa che nessun prodotto viene restituito quando la classe completa l'elaborazione. Confrontalo con le classi di supporto che forniscono un valore di ritorno alla classe principale, che operano come funzioni; questi non hanno nulla nella dichiarazione.
static
significa che il metodo è associato alla classe, non a un'istanza specifica (oggetto) di quella classe. Ciò significa che è possibile chiamare un metodo statico senza creare un oggetto della classe. A causa dell'uso di una static
parola chiave main()
è il tuo primo metodo da invocare ...
static
non è necessario alcun oggetto per istanza ... quindi, main( )
viene chiamato dall'interprete Java prima che vengano creati oggetti.
public
,static
,private
, ecc), allora il tipo di ritorno (void
in questo caso).