java內部接口的應用

匿名內部了實現回調,可以實現匿名內部類傳入另一個類中,通過調用匿名內部類中的方法實現方法的調用。

 

下面是測試的例子:

 

package me.jiekou;

//接口測試類
public class MyJ1 {
	public static void main(String[] args) {

		Myj2 m = new Myj2(new Myj2.OnClickListener() {

			@Override
			public void onClick(int pos) {

				System.out.println("這是方法外的" + pos);
				Test();
			}

			public void Test() {

				System.out.println("執行內部類的test");

			}

			@Override
			public String getString(String s) {
				// TODO 自動生成的方法存根
				return "獲取到的:" + s;
			}
		});

		m.Test1();
		m.testgetString();
	}

}

 

 

 

package me.jiekou;

/**
 * 接口測試2
 * 
 * @author root
 *
 */
public class Myj2 {

	private OnClickListener ol;
	private MyJk3 mj3;

	Myj2(Myj2.OnClickListener onClickListener) {
		ol = onClickListener;

	}

	Myj2(MyJk3 j3) {
		mj3 = j3;
	}

	public void Test2(String s) {

		mj3.test(s);

	}

	public void Test1() {

		System.out.println("這是執行的test1中的方法");
		ol.onClick(6);

	}

	void testgetString() {
		String ss = ol.getString("haha");
		System.out.println(ss);

	}

	public interface OnClickListener {
		void onClick(int pos);

		String getString(String s);
	}
}

 

結果:

這是執行的test1中的方法
這是方法外的6
執行內部類的test
獲取到的:haha
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章