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