避免「無法對非靜態欄位進行靜態引用」錯誤
在Java 程式設計中,「無法對非靜態欄位進行靜態引用」錯誤
嘗試在靜態方法中存取非靜態欄位(也稱為實例變數)時,會發生「引用非靜態欄位」錯誤。 在提供的程式碼中,出現該錯誤是因為 main 方法被宣告為靜態,表示它只能引用類別的靜態成員,包括靜態方法和欄位。但是,字段balance和annualInterestRate是非靜態的,這意味著它們對於Account類別的每個實例都是唯一的。
<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>
主要方法的修訂代碼:
<code class="java">public void withdraw(double withdrawAmount) { balance -= withdrawAmount; } public void deposit(double depositAmount) { balance += depositAmount; }</code>提款和存款方法的修訂代碼:
以上是為什麼我在 Java 中收到「無法對非靜態欄位進行靜態引用」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!