java 接口。Android Interface 自定义接口回调。
来源:互联网 发布:今天eia数据公布 编辑:程序博客网 时间:2024/06/05 09:01
不是很懂java 的Interface 接口的具体怎么实现的。在网上看了很多例子,终于理解了那么点啊。
因为原来在学习做一个微信的语音功能要做到一个接口功能。微信的后面有时间会写出来。
Interface 主要用来描述这类具有什么功能,而并不能给出每个功能的具体是实现。一个类可以实现多个接口,并在需要接口的地方,随时使用实现了相应接口的对象。p.s.interface一定是public
下面的例子就是自己写的一个例子可以尝试着自己写一个:
接口回调的典型例子就是Android的Button监听事件了,
button.setOnClickListener(new OnClickListerner({
@Override
public void onClick(View v) {
System.out.println("调用回调函数");
}
});
button的点击就是触发了回调的对象。
当用户点击Button的时候,接口函数被回调。所以可以这样子理解java callback,当条件成立了,或者是触发了某个条件,而引起了函数的回调。这个就是我对Interface接口的理解。
所以我们首先需要写一个Interface接口叫CallListener,然后写一个能调用该接口函数的类,叫做Call最后写一个用到Call类对象调用监听的NeedCall类。
接口类:
public interface CallListener {public void finishCall();}Call类:
public class Call {CallListener callListener; //定义接口对象public void setOnCallListener(CallListener listener){ //接口对象构造(接口没有实例化,因为没有具体方法)this.callListener=listener;}/* * 触发接口的回调方法,相当于button的点击触发,在主类方法调用该方法触发回调 */public void onCall(){callListener.finishCall();}}NeedCall类:
public class NeedCall {public static void main(String[] args) {Call call=new Call(); //Call类的实例化call.setOnCallListener(new CallListener() {@Overridepublic void finishCall() {System.out.println("对接口方法的重写,调用回调函数时调用该回调函数");}});call.onCall(); //真正触发回调的方法。}}
总结一下,要触发接口就是要构成触发接口的方法 。就像你要去监听一个人是否离开房间,就开一个口子传字条(相当于定义一个接口),再定义一个可以调用该接口的方法,最后那个人离开时触发你的监听条件。你只需要看着口子就可以,一旦条件触发,就构成了回调了。
1 0
- java 接口。Android Interface 自定义接口回调。
- Interface接口回调
- Java:@interface,接口,非接口?
- android自定义回调接口
- Interface接口回调数据
- Android Interface 接口
- java 接口 interface
- Java 接口Interface
- java 接口 interface
- Java接口interface
- Java -- 接口 interface
- 25 java interface (接口)
- JAVA中的接口interface
- java 接口 interface
- java接口 interface
- java接口(interface)
- Java 接口 interface
- java中的接口interface
- Python中choice用法与三元操作
- 并查集
- 012.private protect public 访问控制符
- 二叉树 二叉树的性质 存储结构 遍历二叉树 C实现二叉树的创建和遍历 线索二叉树
- Android控件介绍
- java 接口。Android Interface 自定义接口回调。
- vim删除命令
- 39. Combination Sum
- 【多校第一场】【单调队列】HDU 5289 Assignment
- POJ 题目3692 Kindergarten(最大独立集)
- www.chevin.net
- LeetCode题解——Merge Two Sorted Lists
- 手把手教你在centos下编译安装配置高性能web服务器环境nginx+php(fast-cgi)+mysql等/适合小内存vps使用
- 设计模式 --6大法则 --迪米特法则