package com.sxt.callback; public class Button {
//预存一段按钮点击的响应代码
private OnclickListener mOnClickListener;
//给mOnClickListener复制的方法
public void setOnClickListener(OnclickListener l){
this.mOnClickListener=l;
} //按钮点击后,调用本方法响应用户的操作
public void performClick(){
mOnClickListener.onClick();//回调
}
}
package com.sxt.callback; public interface OnclickListener {
void onClick();//点击事件的响应
}
package com.sxt.callback; import java.util.Scanner; public class TestCallback { static Button btnLogin,btnRegiser;
public static void main(String[] args) {
btnLogin=new Button();
btnRegiser=new Button();
OnclickListener listener=new OnclickListener() {
@Override
public void onClick() {
System.out.println("执行登陆操作");
}
};
btnLogin.setOnClickListener(listener);
btnRegiser.setOnClickListener(new OnclickListener() {
@Override
public void onClick() {
System.out.println("执行注册操作");
}
});
System.out.println("1-点击登陆按钮");
System.out.println("2-点击注册按钮");
int select=new Scanner(System.in).nextInt();
switch (select) {
case 1://点击了登陆按钮
btnLogin.performClick();
break;
case 2://点击了注册按钮
btnRegiser.performClick();
break;
}
}
}