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. Allerdings sind die Felder „balance“ und „annualInterestRate“ 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:
> Statische Verweise auf nichtstatische Felder entfernen:
> Nichtstatische Methoden zu Instanzmethoden machen :
Überarbeiteter Code für die Hauptmethode:
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());
}
Überarbeiteter Code für Auszahlungs- und Einzahlungsmethoden:
public void withdraw(double withdrawAmount) {
balance -= withdrawAmount;
}
public void deposit(double depositAmount) {
balance = depositAmount;
}
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3