インスタンスメソッドから同クラス内のインスタンスメンバにアクセスするとthisが補完される


class Hoge{
int var01;
static int var02;
void meth01(){
System.out.println(var01);
System.out.println(var02);
}
static meth02(){
System.out.println(var01); =>コンパイルエラー
System.out.println(var02);
}
}

  • meth01からvar01を呼ぶと、コンパイラが自動的にthisを補完する。
  • staticメソッドであるmeth02からvar01を呼ぶと、thisは補完されずにコンパイルエラーになる。staticメソッド内ではthisやsuper等のキーワードは使えないので、明示的にthis.var01としてもエラーになる。