English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Possiamo dichiarare variabile statica nel metodo Java?

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.

Esempio

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

Variabile statica nel metodo

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.

Esempio

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;
   }
}

Errore di compilazione

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