java 接口回调
2017-05-25 17:30
232 查看
先解释一下接口回调:百度百科上如是写:接口回调和上转型是设计模式的解耦核心,可以说几乎所有的模式都是建立在这两者的应用之上的。接口回调其本质与上转型是一样的,不同的是:接口回调是用接口句柄来得到并调用实现这个接口的子类的引用;而上转型则是用父类句柄来得到并调用继承此父类的子类的引用。
当然如果你是个热爱写代码的程序员,这话你看起来并不费劲儿,而现实的情况是,大部分程序员都是觉得程序员钱多才干的,写的东西太抽象,太高深,基础不好的看着就费劲,还浪费时间。所以大致的流程图如下:
![](https://img-blog.csdn.net/20170524175721781)
所以就大概说下接口回调了,接口回调用的比较多,各种语言里面都很多,android开发的话用得更多。
接口回调,首先要清楚接口是啥意思,接口说白了就是个高级点的类,当然你也可以理解成低级的类,穷的连个方法和属性都没有,都是抽象的,这样说也不为过;比较大的作用就是能够及时的收到通知,让两个类的对象之间的信息传递及时点,触发的对象收到通知后,能够及时的通知需要这个信息的其他相关处理的对象。
然后就是一个例子:
在初始化的时候传进去一个匿名内部类的对象,触发的事件就是trigger.testCallBack();这样的话就能及时的在CallBackDemo里面及时的处理这个信息,一般的接口回调都是这样写的,尤其是Listener之类的,当然也有好多直接传this的,说白了就是把当前这个对象传过去,上下运行结果:
![](https://img-blog.csdn.net/20170525173744259)
看结果,先触发trigger,后触发follow类,这样信息就及时传到了。
当然有人问了,既然是为了传递信息,为啥我不直接用实体类的对象传过去?然后调下对应的方法就行了,因为实体类的对象的操作是固定的,比如想执行的并不是System.out.println("Follow call back");那样会有大量的实体对象操作,会让代码显得很臃肿,这样扩展性更强一点。
当然如果你是个热爱写代码的程序员,这话你看起来并不费劲儿,而现实的情况是,大部分程序员都是觉得程序员钱多才干的,写的东西太抽象,太高深,基础不好的看着就费劲,还浪费时间。所以大致的流程图如下:
所以就大概说下接口回调了,接口回调用的比较多,各种语言里面都很多,android开发的话用得更多。
接口回调,首先要清楚接口是啥意思,接口说白了就是个高级点的类,当然你也可以理解成低级的类,穷的连个方法和属性都没有,都是抽象的,这样说也不为过;比较大的作用就是能够及时的收到通知,让两个类的对象之间的信息传递及时点,触发的对象收到通知后,能够及时的通知需要这个信息的其他相关处理的对象。
然后就是一个例子:
class CallBackDemo { public static void main(String[] args) { System.out.println("Hello World!"); Trigger trigger = new Trigger(); trigger.testCallBack(new Follow(){ @Override public void callBack(){ System.out.println("Follow call back"); } }); } } //触发类 class Trigger { public void testCallBack(Follow f){ System.out.println("Trigger call back"); f.callBack(); } } //回调类 interface Follow { public abstract void callBack(); }
在初始化的时候传进去一个匿名内部类的对象,触发的事件就是trigger.testCallBack();这样的话就能及时的在CallBackDemo里面及时的处理这个信息,一般的接口回调都是这样写的,尤其是Listener之类的,当然也有好多直接传this的,说白了就是把当前这个对象传过去,上下运行结果:
看结果,先触发trigger,后触发follow类,这样信息就及时传到了。
当然有人问了,既然是为了传递信息,为啥我不直接用实体类的对象传过去?然后调下对应的方法就行了,因为实体类的对象的操作是固定的,比如想执行的并不是System.out.println("Follow call back");那样会有大量的实体对象操作,会让代码显得很臃肿,这样扩展性更强一点。
相关文章推荐
- Java 事件触发接口回调方法
- Java 事件触发接口回调方法
- Java利用接口实现回调
- 关于java的接口回调和向上转型的理解
- 浅谈Java中的接口回调
- Java:接口回调与向上转型
- Java回调机制以及使用HibernateCallBack()接口的好处
- Java 利用接口实现回调
- Thinking in Java之接口回调
- 关于java的接口回调和向上转型的理解
- [待修改]java接口用法:向上转型和回调函数 回调机制在 Android 监听用户界面操作中的体现
- Java学习笔记004——接口、克隆、回调、内部类
- Core Java (十四) 接口,对象克隆,回调
- Java 利用接口实现回调
- Thinking in Java之接口回调改版
- 关于java的接口回调和向上转型的理解
- Java中多态 / 上转型对象 和接口回调的对比
- Thinking in Java之接口回调
- java接口回调的解析
- Java中什么是接口回调?