質問: Javaを勉強していますが、thisには2つの使用方法があることがわかります。個人での理解は以下です: 1.同じクラスの別のコンストラクタを呼び出す。 2.メンバー変数名とローカル変数名が競合するときに、メンバー変数を参照するためにはthis キーワードを使います。 で、Appletを勉強する際に以下のコードが出ました: ``` public class EventTest extends Applet implements MouseListener{ public void init(){ addMouseListener(this); } } ``` そのthisをaddMouseListenerの引数に代入する意味はなんでしょうか? なぜthisを代入するのでしょうか? 私はそのページを参照しました: ご指摘をお願い致します。
回答: クラスを利用するには、通常はそのクラスのインスタンスを作成します。 参照サイトの > > EventShori shori = new EventShori(); > > > がそれです。 addMouseListenerメソッドは引数にMouseListenerインターフェースを受け取ります。 上記のEventShoriクラスはMouseListenerインターフェースを実装しているので > > addMouseListener(shori); > > > とすることができます。 これが「別クラスを用意したい場合」の例です。 そして > > addMouseListener(this); > > > は、別クラスでなく自分自身(つまりEventTest)のインスタンスを渡しています。 thisは自分自身のインスタンスを表すキーワードになります。