Metodi di classe in Java | Spiegato

Metodi di classe in Java | Spiegato
In Java, un metodo non è altro che un blocco di codice/dichiarazione dichiarata all'interno della classe e può eseguire azioni diverse quando qualcuno lo chiama. Alcuni metodi possono essere chiamati direttamente con il loro nome (i.e. senza creare l'oggetto di classe) mentre alcuni metodi richiedono istanza/oggetto della classe (i.e. deve essere invocato con l'oggetto della classe).

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:

  • Cos'è un metodo di classe
  • Come accedere ai metodi di classe
  • Come accedere ai metodi pubblici
  • Come accedere a un metodo da una classe diversa

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 addnumbers
public static int aggiuntivo (int num1, int num2)
int add = num1 + num2;
restituire aggiungi;

public static void main (string [] args)
int numero1, numero2, somma;
Scanner scan = nuovo scanner (sistema.In);
Sistema.fuori.print ("Immettere il 1 ° numero:");
numero1 = scan.NextInt ();
Sistema.fuori.print ("Immettere il 2 ° numero:");
numero2 = scan.NextInt ();
Sum = aggiunta (numero1, numero2);
Sistema.fuori.println ("sum =" + sum);

Il 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 addnumbers
public int addition (int num1, int num2)
int add = num1 + num2;
restituire aggiungi;

public static void main (string [] args)
int numero1, numero2, somma;
Scanner scan = nuovo scanner (sistema.In);
Sistema.fuori.print ("Immettere il 1 ° numero:");
numero1 = scan.NextInt ();
Sistema.fuori.print ("Immettere il 2 ° numero:");
numero2 = scan.NextInt ();
Sum = aggiunta (numero1, numero2);
Sistema.fuori.println ("sum =" + sum);

Tutto 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;
Classe pubblica MyFunctions
public static int aggiuntivo (int num1, int num2)
int add = num1 + num2;
restituire aggiungi;

Addnumbers.Giava

classe pubblica addnumbers
public static void main (string [] args)
int numero1, numero2, somma;
Scanner scan = nuovo scanner (sistema.In);
Sistema.fuori.print ("Immettere il 1 ° numero:");
numero1 = scan.NextInt ();
Sistema.fuori.print ("Immettere il 2 ° numero:");
numero2 = scan.NextInt ();
Sum = aggiunta (numero1, numero2);
Sistema.fuori.println ("sum =" + sum);

Chiamiamo 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 addnumbers
public static void main (string [] args)
int numero1, numero2, somma;
Scanner scan = nuovo scanner (sistema.In);
Sistema.fuori.print ("Immettere il 1 ° numero:");
numero1 = scan.NextInt ();
Sistema.fuori.print ("Immettere il 2 ° numero:");
numero2 = scan.NextInt ();
MyFunctions obj = new MyFunctions ();
somma = obj.aggiunta (numero1, numero2);
Sistema.fuori.println ("sum =" + sum);

Questa 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.