Java: Penyelesaian untuk "Tidak Boleh Membuat Rujukan Statik kepada Ralat Bukan Statik"
Pernyataan Masalah:
Apabila cuba menyusun atur cara Java, ralat berlaku: "Tidak boleh membuat rujukan statik kepada medan bukan statik " atau "Tidak boleh membuat rujukan statik kepada kaedah bukan statik ."
Punca:
Ralat ini timbul apabila kaedah statik cuba mengakses medan atau kaedah bukan statik secara langsung. Medan dan kaedah bukan statik tergolong dalam tika kelas tertentu dan tidak boleh dirujuk dalam konteks statik.
Penyelesaian:
Untuk menyelesaikan isu, buat tika kelas dan kemudian gunakan kaedah pada kejadian itu:
<code class="java">public class Cerchio { float r; float area; float cfr; final double pi = 3.14; public static void main(String[] args) { System.out.println("CIRCLE PROGRAM\n"); Cerchio cerchio = new Cerchio(); cerchio.r = 5; cerchio.c_cfr(); // Invoke method on the instance 'cerchio' cerchio.c_area(); // Invoke method on the instance 'cerchio' System.out.println("The cir is: " + cerchio.cfr); System.out.println("The area is: " + cerchio.area); } float c_cfr() { cfr = (float) (2 * pi * r); // Casting remains the same return cfr; } float c_area() { area = (float) (pi * (r * r)); return area; } }</code>
Nota Tambahan:
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat \'Tidak Dapat Membuat Rujukan Statik kepada Medan Bukan Statik\' di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!