新人の時からお世話になりっぱなしのNEXT INDEX(旧:浅煎り珈琲様)の
staticキーワードのページをゆっくり読み直してみました。
http://www.nextindex.net/java/static.html
(中略)
static メソッド以外のメソッド内に修飾されないメソッド呼び出しがあると、
自動的に this が追加されます。一方、static メソッドは this キーワードを持たないのです。
これが正解なんだけど…そもそもstaticはオブジェクトに対して固有なもの。
インスタンスがいくつあろうと、なかろうと、staticメンバーは唯一なのです。
だから、thisは必要ない。だから、持っていない。
さて、thisキーワードのおさらいも含めちゃうぞ。
http://www.nextindex.net/java/this.html
this.getClass()というのは、自インスタンスのクラスオブジェクトを取得するという
意味合いなので、static method内では、今呼び出されたインスタンスがどれか
感知できないため、thisを使うことはできないのでした…orz
staticメソッド内で、getClassをしたかったら、面倒だけど
自クラスのインスタンスを一個つくって、そのインスタンス変数名.getClass().getName()してください。
PR