JAVA: 「非静的フィールドへの静的参照を作成できません」エラーと「非静的メソッドへの静的参照を作成できません」エラーについて
静的と非静的
静的なフィールドとメソッドは、クラス自体に関連付けられています。クラスの特定のオブジェクトよりも。オブジェクトを作成しなくても、クラス名を使用して直接アクセスできます。対照的に、非静的フィールドとメソッドはインスタンス固有であり、使用するクラスのオブジェクトが必要です。「非静的フィールド/メソッドへの静的参照を作成できません」エラー
このエラーは、静的メソッドやクラス宣言自体など、静的コンテキスト内から非静的フィールドまたはメソッドにアクセスしようとすると発生します。このエラーを解決するには、フィールドまたはメソッドを静的として宣言するか、クラスのインスタンスを作成し、オブジェクト インスタンスを通じて非静的メンバーにアクセスします。指定したコード例では次のようになります。<code class="java">public class Cerchio { float r; // non-static field float area; // non-static field float cfr; // non-static field public static void main(String[] args) { r = 5; // Error: Cannot access non-static field 'r' from static method 'main' // ... } }</code>
<code class="java">public class Cerchio { float r; // non-static field float area; // non-static field float cfr; // non-static field public static void main(String[] args) { Cerchio cerchio = new Cerchio(); cerchio.r = 5; // OK: Accessing non-static field through an object // ... } }</code>
以上がJava で「非静的フィールドへの静的参照を作成できません」および「非静的メソッドへの静的参照を作成できません」というエラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。