避免「無法對非靜態欄位進行靜態引用」錯誤
在Java程式設計中,「無法對非靜態欄位進行靜態引用」錯誤嘗試在靜態方法中存取非靜態欄位(也稱為實例變數)時,會發生「引用非靜態欄位」錯誤。
在提供的程式碼中,出現錯誤的原因是 main 方法被宣告為靜態,意味著它只能引用類別的靜態成員,包括靜態方法和欄位。然而,字段balance和annualInterestRate是非靜態的,這意味著它們對於Account類別的每個實例都是唯一的。
要解決此錯誤,有必要修改程式碼以遵循適當的Java語法:
> 刪除對非靜態欄位的靜態引用:
> 製作非靜態方法實例方法:
main 方法的修訂程式碼:
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());
}
修改提款和存款方法代碼:
public void withdraw(double withdrawAmount) {
balance -= withdrawAmount;
}
public void deposit(double depositAmount) {
balance = depositAmount;
}
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3