Java:「無法對非靜態欄位進行靜態引用」錯誤的解決方法
問題陳述:
嘗試編譯Java 程式時,出現錯誤:「無法對非靜態欄位進行靜態引用」或「無法對非靜態方法進行靜態引用 ."
原因:
當靜態方法嘗試直接存取非靜態欄位或方法時,會出現這些錯誤。非靜態欄位和方法屬於特定的類別實例,無法在靜態上下文中引用。
解決方案:
要解決此問題,請建立該類別的實例然後呼叫該實例上的方法:
<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>
附加說明:
以上是為什麼我在 Java 中收到「無法對非靜態欄位進行靜態引用」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!