


Warum erhalte ich in Java die Meldung „Es kann kein statischer Verweis auf ein nicht statisches Feld/eine nicht statische Methode erstellt werden'?
Informationen zu „Ein statischer Verweis auf ein nichtstatisches Feld/eine nicht-statische Methode kann nicht erstellt werden“ in Java
In Java tritt der Fehler „Kann nicht hergestellt werden“ auf „Ein statischer Verweis auf das nicht-statische Feld“ oder „Ein statischer Verweis auf die nicht-statische Methode kann nicht erstellt werden“ weist darauf hin, dass bestimmte Aktionen aufgrund der Interaktion zwischen statischen und nicht-statischen Elementen in Ihrem Code eingeschränkt sind.
Fehlerursache
Dieser Fehler tritt auf, wenn Sie versuchen, auf (nicht statische) Instanzfelder oder -methoden in einem statischen Kontext zuzugreifen, beispielsweise innerhalb einer statischen Methode. Instanzvariablen sind bestimmten Objekten einer Klasse zugeordnet, während statische Variablen und Methoden zur Klasse selbst gehören und keine Objektinstanzen erfordern.
Lösung: Erstellen Sie eine Instanz
Um den Fehler zu beheben, müssen Sie eine Instanz der Klasse erstellen, bevor Sie auf Instanzvariablen zugreifen oder Instanzmethoden aufrufen. Dies liegt daran, dass auf die Instanzvariablen und -methoden nicht direkt aus einem statischen Kontext zugegriffen werden kann.
Im bereitgestellten Codeausschnitt versucht beispielsweise die statische Methode main, auch auf die Instanzvariablen r, cfr und area zuzugreifen als Instanzmethoden c_cfr und c_area. Um dies zu beheben, erstellen Sie eine Instanz der Cerchio-Klasse innerhalb der Hauptmethode und greifen Sie dann über die Objektreferenz auf die Instanzvariablen und -methoden zu:
<code class="java">public static void main(String[] args) { Cerchio cerchio = new Cerchio(); cerchio.r = 5; cerchio.c_cfr(); cerchio.c_area(); System.out.println("The cir is: " + cerchio.cfr); System.out.println("The area is: " + cerchio.area); }</code>
Zusätzliche Hinweise
- Instanzvariablen sollten im Allgemeinen als privat deklariert werden und zur Kapselung über Getter- und Setter-Methoden aufgerufen werden.
- Vermeiden Sie den direkten Zugriff auf Klassenvariablen; Verwenden Sie stattdessen Klassenkonstanten oder statische Methoden, um darauf zuzugreifen.
- Die richtige Einrückung und Codeorganisation kann die Lesbarkeit verbessern und solche Fehler in Zukunft verhindern.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich in Java die Meldung „Es kann kein statischer Verweis auf ein nicht statisches Feld/eine nicht statische Methode erstellt werden'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

