Fehler: Nicht-statische Variable kann nicht aus einem statischen Kontext referenziert werden
In Ihrem Code deklarieren Sie eine Klassenvariablenanzahl und versuchen dies Greifen Sie innerhalb einer statischen Methode main darauf zu. Dieser Fehler tritt auf, weil in einem nicht statischen Kontext deklarierte Variablen nicht direkt von einem statischen Kontext aus referenziert werden können.
Statische und nichtstatische Kontexte verstehen:
In Ihrem Beispiel ist count eine nicht statische Variable, was bedeutet, dass sie für jede Instanz der MyProgram-Klasse spezifisch ist. Um den Fehler zu beheben, müssen Sie eine Instanz von MyProgram erstellen und auf die Anzahl der Zugriffe innerhalb der nicht statischen Methode zugreifen.
Lösung:
MyProgram obj = new MyProgram();
public void run() { System.out.println(count); }
public static void main(String[] args) { MyProgram obj = new MyProgram(); obj.run(); }
Durch Befolgen dieser Schritte stellen Sie sicher, dass die Ausführung nicht statisch ist Auf die Variablenanzahl wird in einem nicht statischen Kontext zugegriffen.
Das obige ist der detaillierte Inhalt vonWarum kann ich in Java nicht über eine statische Methode auf eine nichtstatische Variable zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!