忍者ブログ
ぴよぴよぴよこプログラマーが SE目指してまったり仕事してまする。
26 . June
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

04 . July
先ほど書いていた、DebugLogSample,javaを作る前に…
this.getClass().getName();を使ってクラス名を取る方法でコーディングしていたりも
したのですが…そもそも、mainメソッドではthisキーワードは使えないことをすっかり忘れてました;

結局さっきの方法にすれば、staticだろうと、非staticだろうと関係ないの…。
ただ、なstatic contextでthisはなぜ使えないんだ?に対する答えを
ぱっと口頭で説明できそうになかったのでメモメモ…。


新人の時からお世話になりっぱなしの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
NAME
TITLE
TEXT COLOR
MAIL
URL
COMMENT
PASS   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事にトラックバックする:
カレンダー
05 2026/06 07
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
最新コメント
最新トラックバック
プロフィール
HN:
四葉
性別:
女性
職業:
ぴよこぷろぐらまー
趣味:
RO ダーツ
自己紹介:
都内の小さい開発会社に在籍中。
採用して頂いた会社に感謝しつつも、
やっぱり色々思う所もあり。
ブログ内検索
アクセス解析
カウンター
Powered by NINJA BLOG  Designed by PLP
忍者ブログ / [PR]