Heim  >  Artikel  >  Java  >  Warum erhalte ich in Java die Fehlermeldung „Statischer Verweis auf nichtstatisches Feld kann nicht erstellt werden“?

Warum erhalte ich in Java die Fehlermeldung „Statischer Verweis auf nichtstatisches Feld kann nicht erstellt werden“?

Susan Sarandon
Susan SarandonOriginal
2024-11-02 01:18:30943Durchsuche

Why Am I Getting

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:

  • Erwägen Sie die Verwendung von Gettern und Settern für den Feldzugriff, um die Kapselung zu erzwingen und direkte Felder zu vermeiden Zugriff.
  • Stellen Sie sicher, dass Ihr Code zur besseren Lesbarkeit und zum besseren Verständnis richtig eingerückt ist.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn