接口回调 :把实现接口的类的对象的引用赋给该接口声明的接口变量,那么该接口变量就可以调用被类重写的接口方法。
首先定义一个OnClickListener接口
public interface OnClickListener {
public void onClick();
}
接着定义一个MyButton类
public class MyButton {
private OnClickListener onClickListener;
/**
*
* @param onClickListener
* 接口的类的对象的引用
*/
public void setOnClickListener(OnClickListener onClickListener) {
this.onClickListener = onClickListener;
this.onClickListener.onClick();
}
}
最后定义主类来生成MyButton对象
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
MyButton myButton = new MyButton();
myButton.setOnClickListener(new OnClickListener() {
public void onClick() {
// TODO Auto-generated method stub
System.out.println("用匿名内部类来实现onClick方法");
}
});
MyButton myButton2 = new MyButton();
myButton2.setOnClickListener(new myButtonListener());
}
public static class myButtonListener implements OnClickListener {
public void onClick() {
// TODO Auto-generated method stub
System.out.println("使用内部类来实现onClick方法");
}
}
}