English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
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
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.
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; } }
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 错误