I metodi che possono essere chiamati direttamente vengono indicati come a Metodi di classe o statici, mentre i metodi che necessitano di un oggetto della classe da invocare vengono indicati Metodi di istanza o non statici.
Questo articolo presenterà una panoramica dettagliata dei metodi di classe e, a questo proposito, coprirà i seguenti aspetti dei metodi di classe Java:
Iniziamo!
Metodo di classe in Java
Generalmente, quando abbiamo una classe, allora dobbiamo creare un oggetto di quella classe per accedere ai suoi metodi e ad altri membri. Tuttavia, è possibile accedere ai metodi di classe/statica all'interno della classe senza creare un'istanza di quella classe.
Come accedere ai metodi di classe
Consideriamo l'esempio di seguito per capire come creare e accedere a un metodo statico/classe in Java.
Esempio
Lo snippet di codice seguente prende due numeri dall'utente ed esegui l'aggiunta su di essi:
classe pubblica addnumbersIl codice completo e il rispettivo output saranno qualcosa del genere:
Dall'output sopra, è chiaro che non è necessario creare l'oggetto della classe per chiamare un metodo statico invece è possibile accedervi direttamente all'interno della classe.
Come accedere ai metodi pubblici
Ora consideriamo l'esempio seguente per verificare se è possibile accedere a un metodo pubblico direttamente o no:
classe pubblica addnumbersTutto il codice è lo stesso dell'esempio precedente tranne il modificatore di accesso, ma questa volta otteniamo un errore come mostrato nel seguente frammento di codice:
Per accedere a una funzione non statica, prima, dobbiamo creare l'oggetto della classe, quindi saremo in grado di accedere al metodo della classe:
Lo snippet di cui sopra verifica che quando chiamiamo il metodo non statico con l'aiuto di un oggetto di classe, funziona in modo appropriato e fornisce l'output privo di errori.
Come accedere a un metodo da una classe diversa
Abbiamo visto che un metodo statico non richiede che nessun oggetto venga chiamato all'interno della stessa classe, ma cosa accadrà quando abbiamo più classi? Il metodo statico sarà invocato direttamente in tal caso? Sperimentiamo con esso!
Esempio
Consideriamo che abbiamo due lezioni: una classe chiamata "Addnumbers"Che terrà il metodo principale e il secondo è"Myfunctions" classe:
Myfunctions.Giava
pacchetto addnumbers;Addnumbers.Giava
classe pubblica addnumbersChiamiamo il aggiunta funzione di Myfunctions classe dal metodo principale di Addnumbers classe:
Sebbene il metodo di addizione sia statico ma otteniamo comunque un errore quando proviamo ad accedervi direttamente. Questo perché il metodo di addizione non è nella stessa classe. Quindi, per accedere al metodo di un'altra classe dobbiamo creare l'oggetto di quella classe indipendentemente dal modificatore di accesso I.e. statico o pubblico.
Addnumbers.Giava
classe pubblica addnumbersQuesta volta creiamo l'oggetto di Myfunctions classe nella funzione principale di Addnumbers classe e poi accediamo al aggiunta Metodo con l'aiuto di quell'oggetto:
Ora lo snippet sopra verifica che l'errore è andato e con l'aiuto dell'oggetto della classe MyFunctions abbiamo ottenuto i risultati desiderati.
Conclusione
È possibile accedere al metodo di classe/statico all'interno della classe direttamente mentre si accede ai metodi pubblici senza creare l'oggetto non è possibile. Mentre, nel caso di più classi, i metodi saranno accessibili solo con l'aiuto di oggetti di classe indipendentemente dal loro modificatore di accesso. Questo articolo fornisce una guida completa di quali sono i metodi di classe e come accedervi dalla stessa classe e da una classe diversa.