SQLの窓

2009年10月16日


Java : クラスを使ってメソッドを引数として渡す

概要
他の言語では、function(オブジェクト) を渡したり関数のポインタを渡したりしますが、
結局 Class のインスタンスを渡せば目的は達成されます。
インターフェイス(インスタンス)でも良いと思うのですが、Java での正解は良く解りません。
public class Main {

	private int level = 1;

	public static void main(String[] args) {
		Main thisClass = new Main();
	}

	public Main() {
		super();
		initialize();
	}

	private void initialize() {
		System.out.println("クラスを使ってメソッドを引数として渡す");
		// 定義済みのメソッド実行
		actFunction( new Sub() );
		// インラインでサブクラス化して
		// オーバライドしたメソッドを実行
		actFunction(
			new Sub() {
				public void innerAct( ) {
					// Main.this は、Class Main の定義を参照
					System.out.println("Sub2.innerAct : " + Main.this.level);
					// this は、Class Sub の定義を参照
					System.out.println("Sub2.innerAct : " + this.level);
				}
			} 
		);
	}

	private void actFunction( Sub c ) {
		c.innerAct();
	}

	private class Sub {

		public int level = 2;

		public void innerAct( ) {
			System.out.println("Sub.innerAct");
			new innerMax();
		}

		private class innerMax {
			public int level = 3;
			public innerMax() {
				System.out.println( "innerMax : " + Main.this.level );
				System.out.println( "innerMax : " + Sub.this.level );
				System.out.println( "innerMax : " + this.level );
			}
		}
	}
}

関連する記事
Java : サブクラス( インライン? )


タグ:java
【Javaの最新記事】
posted by lightbox at 2009-10-16 10:47 | Java | このブログの読者になる | 更新情報をチェックする
バッチ処理

Microsoft Office
container 終わり

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

Android SDK ポケットリファレンス
改訂版 Webデザイナーのための jQuery入門
今すぐ使えるかんたん ホームページ HTML&CSS入門
CSS ドロップシャドウの参考デモ
Google Hosted Libraries
cdnjs
BUTTONS (CSS でボタン)
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり