English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
I file e le variabili statiche appartengono a questa classe, verranno caricati nella memoria insieme alla classe. Puoi chiamarli senza creare un oggetto (usa il nome della classe come riferimento). In tutta la classe c'è solo una copia del campo statico disponibile, ossia, il valore del campo statico è lo stesso per tutti gli oggetti. Puoi definire un campo statico utilizzando la parola chiave static.
public class Sample{ static int num = 50; public void demo(){ System.out.println("Valore di num nel metodo demo " + Sample.num); } public static void main(String args[]){ System.out.println("Valore di num nel metodo main " + Sample.num); new Sample().demo(); } }
Risultato di output
Valore di num nel metodo main 50 Valore di num nel metodo demo 50
Le variabili presenti nel metodo sono variabili locali, il cui ambito si trova all'interno del metodo e vengono distrutte dopo l'esecuzione del metodo. Questo significa che non potete utilizzare variabili locali che entrano in conflitto con la definizione di variabili di classe/statistiche al di fuori del metodo. Pertanto, dichiarare una variabile statica all'interno del metodo non ha senso e se si tenta di farlo, verrà generato un errore di compilazione.
Nel seguente programma Java, cerchiamo di dichiarare una variabile statica all'interno di un metodo.
import java.io.IOException; import java.util.Scanner; public class Sample { static int num; public void sampleMethod(Scanner sc){ static int num = 50; } public static void main(String args[]) throws IOException { static int num = 50; } }
Se tentate di eseguire il programma sopra menzionato, verranno generati gli errori seguenti-
Sample.java:6: errore: inizio illegale dell'espressione static int num = 50; ^ Sample.java:9: errore: inizio illegale dell'espressione static int num = 50; ^ 2 errori