thisについて

thisはインスタンスを指す。
thisはクラスにおけるインスタンスメソッド、インスタンス初期化子、インスタンス変数の初期化子、コンストラクタ本体のみで使用可能。
それ以外の場所(代表的なのはstatic要素)で用いられた際はコンパイルエラーになる。
thisの型は、thisキーワードが記述されているクラスC。
ただし、実行時、実際のオブジェクトが参照するクラスは、クラスCやCのサブクラスである可能性がある。
特殊なケースとして、インナークラスからアウタークラスのインスタンスへは、

アウタークラス名.this

で参照可能。
アウタークラス名を記述せずにthisだけ記述すると、インナークラスのインスタンスを参照することになる。
※参考 Java言語仕様第3版 371ページ 15.8.3 this

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です