logo

Metodo statico vs metodo di istanza in Java

In Java i metodi definiscono il comportamento di classi e oggetti. Comprendere la differenza tra metodi statici e metodi di istanza è essenziale per scrivere codice pulito ed efficiente.

come controllare i numeri bloccati su Android

Cos'è un metodo statico?

UN metodo statico appartiene alla classe piuttosto che a qualsiasi oggetto specifico.

  • Può essere chiamato senza creare un'istanza della classe.
  • Poiché i metodi statici sono specifici di un oggetto, possono accedere solo ai membri statici (dati e metodi) e non possono accedere ai membri non statici.
Java
import java.io.*; class Geeks {  // static method  public static void greet() {  System.out.println('Hello Geek!');  }  public static void main(String[] args) {  // calling the method directily  greet();  // using the class name  Geeks.greet();  } } 

Produzione
Hello Geek! Hello Geek! 

Spiegazione: L'esempio sopra mostra un metodo statico greet() all'interno della classe Geeks che i metodi statici possono essere chiamati senza creare un oggetto. Nel metodo principale non stiamo creando un oggetto della classe Geek, chiamiamo il metodo direttamente con il nome della classe che è Geeks e quindi stampiamo l'output.



Cos'è un metodo di istanza?

UN Metodo di istanza appartiene ad un oggetto.

  • È necessario creare un'istanza della classe da chiamare.
  • Può accedere alle variabili di istanza, ad altri metodi di istanza e ai membri statici della classe.
  • Avere accesso a thisriferimento che punta all'oggetto corrente.
Java
import java.io.*; class Test {  String n = '';  // Instance method   public void test(String n) {   this.n = n;   } } class Geeks {  public static void main(String[] args) {  // create an instance of the class  Test t = new Test();  // calling an instance method in the class 'Geeks'  t.test('GeeksforGeeks');  System.out.println(t.n);  } } 

Produzione
GeeksforGeeks 

Spiegazione: L'esempio precedente mostra come utilizzare un metodo di istanza in Java. Stiamo creando un oggetto della classe Test e chiamiamo il metodo test per impostare un valore e quindi stampiamo l'output.

Differenza tra metodo statico e metodo di istanza

La tabella seguente elenca i  principali differenze tra i metodi statici e i metodi di istanza in Java.

Caratteristiche

Metodo statico

Metodo di istanza

Definizione

Creato utilizzando la parola chiave static e recuperato senza creare un oggetto.

Richiede che un oggetto della sua classe venga invocato.

Accesso

Accedi solo a variabili e metodi statici.

Può accedere sia ai membri statici che a quelli dell'istanza.

this parola chiave

Non è possibile utilizzare il Questo parola chiave all'interno di metodi statici.

È possibile utilizzare la parola chiave this per fare riferimento all'oggetto corrente.

Sostituisci

Non supporta il polimorfismo di runtime

Supporta il polimorfismo di runtime

Allocazione della memoria

Caricato una volta per classe

Ogni oggetto ha la sua copia


Crea quiz