Heim >Java >javaLernprogramm >Warum erhalte ich in Java die Fehlermeldung „Statischer Verweis auf nichtstatisches Feld kann nicht erstellt werden'?
Java: Lösung für den Fehler „Statischer Verweis auf nichtstatisches Feld kann nicht erstellt werden“
Problembeschreibung:
Beim Versuch, ein Java-Programm zu kompilieren, tritt ein Fehler auf: „Es kann kein statischer Verweis auf das nicht-statische Feld erstellt werden“ oder „Es kann kein statischer Verweis auf die nicht-statische Methode erstellt werden.“ ."
Ursache:
Diese Fehler treten auf, wenn statische Methoden versuchen, direkt auf nicht statische Felder oder Methoden zuzugreifen. Nicht statische Felder und Methoden gehören zu bestimmten Klasseninstanzen und können nicht in statischen Kontexten referenziert werden.
Lösung:
Um das Problem zu beheben, erstellen Sie eine Instanz der Klasse und rufen Sie dann Methoden für diese Instanz auf:
<code class="java">public class Cerchio { float r; float area; float cfr; final double pi = 3.14; public static void main(String[] args) { System.out.println("CIRCLE PROGRAM\n"); Cerchio cerchio = new Cerchio(); cerchio.r = 5; cerchio.c_cfr(); // Invoke method on the instance 'cerchio' cerchio.c_area(); // Invoke method on the instance 'cerchio' System.out.println("The cir is: " + cerchio.cfr); System.out.println("The area is: " + cerchio.area); } float c_cfr() { cfr = (float) (2 * pi * r); // Casting remains the same return cfr; } float c_area() { area = (float) (pi * (r * r)); return area; } }</code>
Zusätzliche Hinweise:
Das obige ist der detaillierte Inhalt vonWarum erhalte ich in Java die Fehlermeldung „Statischer Verweis auf nichtstatisches Feld kann nicht erstellt werden'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!