匿名內部了實現回調,可以實現匿名內部類傳入另一個類中,通過調用匿名內部類中的方法實現方法的調用。
下面是測試的例子:
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