匿名内部了实现回调,可以实现匿名内部类传入另一个类中,通过调用匿名内部类中的方法实现方法的调用。
下面是测试的例子:
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