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
 

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