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
原创粉丝点击