Rumah >Java >javaTutorial >Mengapa saya mendapat Ralat \'Tidak Dapat Membuat Rujukan Statik ke Medan Bukan Statik\' di Jawa?
Mengelakkan Ralat "Tidak Boleh Membuat Rujukan Statik kepada Medan Bukan Statik"
Dalam pengaturcaraan Java, "tidak boleh membuat statik rujukan kepada medan bukan statik" berlaku apabila cuba mengakses medan bukan statik (juga dikenali sebagai pembolehubah contoh) dalam kaedah statik.
Dalam kod yang disediakan, ralat timbul kerana kaedah utama diisytiharkan sebagai statik, bermakna ia hanya boleh merujuk kepada ahli statik kelas, termasuk kaedah dan medan statik. Walau bagaimanapun, baki medan dan annualInterestRate adalah tidak statik, yang bermaksud ia adalah unik untuk setiap tika kelas Akaun.
Untuk menyelesaikan ralat ini, kod perlu diubah suai mengikut sintaks Java yang sesuai:
> Alih Keluar Rujukan Statik ke Medan Bukan Statik:
> Jadikan Kaedah Contoh Kaedah Bukan Statik:
Kod yang disemak untuk Kaedah utama:
<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>
Kod yang disemak untuk pengeluaran dan deposit Kaedah:
<code class="java">public void withdraw(double withdrawAmount) { balance -= withdrawAmount; } public void deposit(double depositAmount) { balance += depositAmount; }</code>
Atas ialah kandungan terperinci Mengapa saya mendapat Ralat 'Tidak Dapat Membuat Rujukan Statik ke Medan Bukan Statik' di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!