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();
}

运行

Java 接口回调 简单实现_第1张图片

 

 

 

 

绑定监听器

public static void main(String[] args)
{
	Button button=new Button();
	Listener l =new ListenerImpl();
	button.addListener(l);
	button.print();
}

运行

Java 接口回调 简单实现_第2张图片

你可能感兴趣的:(开源,Java)