ホームページ >Java >&#&チュートリアル >Java で「非静的フィールドへの静的参照を作成できません」というエラーが発生するのはなぜですか?
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 中国語 Web サイトの他の関連記事を参照してください。