1. ホーム

非静的フィールドへの静的参照はできない

2022-02-09 10:10:39

         静的メソッド内で非静的フィールドを参照できない 非静的メンバ(メソッド、変数を含む)

      Cannot make a static reference to the non-static field email というエラーが報告される理由は、次のとおりです。
      は、静的メソッドの中で非静的メンバー(メソッドや変数を含む)に直接アクセスすることができないからです。
      なぜなら、非静的変数はオブジェクトの存在に依存しており、その変数がメモリ上に存在する前にオブジェクトがインスタンス化されなければならないからです。 


      で、この件は特に簡単に解決できるのですが、まず、変数をstaticに変更すればいいのです。2つ目は、まずオブジェクトをインスタンス化し、オブジェクト名と変数名を使って呼び出すことです。


=============================================================================== 誤り
public class BB{
int a[] =new int[10];
public static void main(String[] args) { {
System.out.println(a[1])。
}
}
========================================================================= は正しいです。
public class BB{
int a[] =new int[10];
public static void main(String[] args) { {
BB bb= new BB()。
<スパン System.out.println( bb. a[1]);
}
}