Java 接口回调 简单实现
Button类
public class Button
{
private Listener l;
public Button()
{
l=new Listener()
{
@Override
public void checkPrint()
{
System.out.println("自己的监听方法,什么都不做");
}
};
}
public void addListener(Listener l)
{
System.out.println("绑定了监听器");
this.l=l;
}
public void print()
{
for (int i = 0; i < 5; i++)
{
System.out.println(i);
if (i == 3)
l.checkPrint();
try
{
Thread.sleep(1000);
} catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
}
接口Listener
public interface Listener
{
void checkPrint();
}
接口Listener 实现类
public class ListenerImpl implements Listener
{
@Override
public void checkPrint()
{
System.out.println("button触发监听事件");
System.out.println("自定义的监听器 执行 checkPrint方法");
}
}
不绑定监听器
public static void main(String[] args)
{
Button button=new Button();
button.print();
}
运行
绑定监听器
public static void main(String[] args)
{
Button button=new Button();
Listener l =new ListenerImpl();
button.addListener(l);
button.print();
}
运行