JAVA 使用Interface 实现自己的事件监听

上班没什么事做,看了一下同事的代码。觉得挺有意思,于是拿出来分享一下,当然这不是什么很难得技术,很多人都能够呀看得懂。所以这一次也是很轻松的学习。

对于接口,我们使用最多的莫过于在设置控件的点击事件中了,例如:

        view.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

            }
        });

这里View是控件的实例对象。

那么这里有几个部分,第一个是一个setOnClickListener(OnClickListener listener)方法,里面传入的是一个接口。下面是一个抽象方法onClick(View v)。好了,先分析到这里。

接下来,我将通过使用一个计算的形式来提现这个效果。开始编写我们自己的事件监听。首先写一个接口,代码如下:

public interface FirstInter {
    void success(int a);
    void fail(Exception error);
}

这里还是比较简单,两个抽象方法,分别是success(int a)和fail(Exception error),

然后我们开始写计算的工具类,代码如下:

public class DayUtil {

    public void jisuan(int a, int b) {
        try {
            if (firstInter != null) {
                firstInter.success(a / b);
                System.out.println("a:" + a + " b:" + b);
            }
        } catch (Exception e) {
            firstInter.fail(e);
        }
    }

    private FirstInter firstInter;

    public void isSucces(FirstInter firstInter) {
        this.firstInter = firstInter;
    }

}

首先是定义了一个isSucces()方法,用于给接口赋值,然后通过调用jisuan()这个方法,进行计算,当计算成功的时候,回调success()的方法,然后如果出现异常,则调用fail()方法。

好了,那看到我们怎么使用他的。代码贴下;

    public class Main {

    public static void main(String[] args) {
        DayUtil dayUtil = new DayUtil();
        dayUtil.isSucces(new FirstInter() {

            @Override
            public void success(int a) {
            System.out.println("计算结果为:"+a);

            }

            @Override
            public void fail(Exception error) {
                error.printStackTrace();

            }
        });



        dayUtil.jisuan(10, 0);


    }
}

好了,自此全部结束,谢谢阅读

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值