あれこれ備忘録@はてなブログ

勉強したことやニュースや出来事を備忘録として書いていきます

イベント処理や内部クラスでメンバー変数にアクセスする

イベント処理で何か処理をするときにメンバー変数にアクセスしたいときがあるとすると

Class classA

{

int variable;

add***Listener(new ***Adapter() {

public void someMethodInListenerClass(***Event e) {

variable = 10;

}

});

}

のような感じではダメで、

variable = 10;

classA.this.variable = 10;

にしなくてはいけない。

これを避けたい場合、classAに目的のListenerクラスをimplementsして、メソッドをオーバーライドするか、

Class classA implements ***Listener

{

int variable;

add***Listener(this);

public void someMethodInListenerClass(***Event e) {

variable = 10;

}

}

ほとんど同じようなものかもしれないが、メソッドを新たに作って内部クラスから呼び出すといい。

Class classA

{

int variable;

add***Listener(new ***Adapter() {

public void someMethodInListenerClass(***Event e) {

methodA(10);

}

});

void methodA(int i) {

variable = i;

}

}

MacでJava! Macに付属のXcodeで始めるJavaプログラミング入門 Java primer for Macintosh users 内容説明:Macintoshユーザを対象としたJava言語入門書。Javaを使って自分でプログラムを記述することを目的とする。プログラミング言語をMacintoshを使って学ぼうという人に最適。

アテイン Java講座入門編 上巻 ATTE-570 Java講座入門編 上巻 

アテイン Java講座入門編 中巻 ATTE-571 Java講座入門編 中巻

アテイン Java講座入門編 下巻 ATTE-572 Java講座入門編 下巻

新Java言語入門 シニア編 (Java言語実用マスターシリーズ) Java言語はC++をモデルに、あまりに多機能すぎる部分を解消し、メモリ管理などのクリティカルな部分はできるだけプログラマーが管理しないように設計された言語である。

Javaプログラミングのエッセンス Webアプリケーションを作って学ぶJava入門 Java以外の言語には多少経験があるもののJavaに関しては初心者だという読者を対象に書かれたチュートリアル。Webアプリケーションを構築しながら、Javaの基本的な機能をわかりやすく解説する。

広告を非表示にする