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

Kann man in Java Methoden statische Variablen deklarieren?

Statische Datei/Variablen gehören zu dieser Klasse und werden zusammen mit der Klasse in den Speicher geladen. Sie können sie ohne das Erstellen eines Objekts aufrufen. (Verwenden Sie den Klassennamen als Referenz). In der gesamten Klasse ist nur eine Kopie eines statischen Felds verfügbar, d.h. der Wert des statischen Felds ist in allen Objekten gleich. Sie können ein statisches Feld mit dem Schlüsselwort static definieren.

Beispiel

public class Sample{
   static int num = 50;
   public void demo(){
      System.out.println("Wert von num im Demo-Methoden ");+ Sample.num);
   }
   public static void main(String args[]){
      System.out.println("Wert von num im Hauptmethoden ");+ Sample.num);
      new Sample().demo();
   }
}

Ausgabergebnis

Wert von num im Hauptmethoden 50
Wert von num im Demo-Methoden 50

Statische Variable in der Methode

Die im Methodenkontext enthaltenen Variablen sind lokale Variablen, deren Gültigkeitsbereich innerhalb der Methode liegt und die nach der Ausführung der Methode zerstört werden. Das bedeutet, dass Sie keine Variablen außerhalb der aktuellen Methode verwenden können, die/Die Definition der statischen Variable ist in Widerspruch zu lokalen Variablen. Daher hat es keinen Sinn, eine statische Variable innerhalb einer Methode zu deklarieren, und wenn dies versucht wird, wird ein Kompilierungsfehler generiert.

Beispiel

In dem folgenden Java-Programm versuchen wir, eine statische Variable innerhalb einer Methode zu deklarieren.

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

Kompilierungsfehler

Wenn Sie versuchen, das obige Programm auszuführen, werden die folgenden Fehler auftreten-

Sample.java:6: Fehler: unzulässiger Anfang eines Ausdrucks
   static int num = 50;
  ^
Sample.java:9: Fehler: unzulässiger Anfang eines Ausdrucks
   static int num = 50;
^
2 错误