Heim >Java >javaLernprogramm >Warum erhalte ich in Java die Fehlermeldung „Ein statischer Verweis auf ein nichtstatisches Feld kann nicht erstellt werden'?
Vermeiden des Fehlers „Es kann kein statischer Verweis auf ein nichtstatisches Feld erstellt werden“
Bei der Java-Programmierung kann der Fehler „Es kann kein statisches Feld erstellt werden“ vermieden werden Der Fehler „Referenz auf ein nicht statisches Feld“ tritt auf, wenn versucht wird, innerhalb einer statischen Methode auf ein nicht statisches Feld (auch als Instanzvariable bezeichnet) zuzugreifen.
Im bereitgestellten Code tritt der Fehler aufgrund der Hauptmethode auf wird als statisch deklariert, was bedeutet, dass es nur auf statische Mitglieder der Klasse verweisen kann, einschließlich statischer Methoden und Felder. Die Felder „balance“ und „annualInterestRate“ sind jedoch nicht statisch, was bedeutet, dass sie für jede Instanz der Account-Klasse eindeutig sind.
Um diesen Fehler zu beheben, muss der Code so geändert werden, dass er der entsprechenden Java-Syntax folgt:
> Entfernen Sie statische Verweise auf nicht-statische Felder:
> Erstellen Sie nicht statische Methoden als Instanzmethoden:
Überarbeiteter Code für die Hauptmethode:
<code class="java">public static void main(String[] args) { Account account = new Account(1122, 20000, 4.5); account.withdraw(2500); account.deposit(3000); System.out.println("Balance is " + account.getBalance()); System.out.println("Monthly interest is " + account.getAnnualInterestRate() / 12); System.out.println("The account was created " + account.getDateCreated()); }</code>
Überarbeiteter Code für Auszahlungs- und Einzahlungsmethoden:
<code class="java">public void withdraw(double withdrawAmount) { balance -= withdrawAmount; } public void deposit(double depositAmount) { balance += depositAmount; }</code>
Das obige ist der detaillierte Inhalt vonWarum erhalte ich in Java die Fehlermeldung „Ein statischer Verweis auf ein nichtstatisches Feld kann nicht erstellt werden'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!