接口入门(企业常见使用,一分钟搞定版)
目录
1、接口的定义
定义位置
接口内容
2、接口的使用
正常实现接口
接口当做函数参数
匿名实现接口
3、OPPO便签接口具体分析
总结一下:
1、接口的定义
定义位置
可以写在类中,但注意现在接口名字是 类名.接口名
可以单独写在一个文件
接口内容
无具体实现的函数,但是有参数和返回值
参数由实现接口的类中传入,返回值通过调用接口方法获取
不懂没关系,接着往下看
2、接口的使用
正常实现接口
跟继承一样,重写接口方法
calss Student : ExecutorProgressListener{override fun onExecutorComplete(action: Int, selectedNotes: MutableSet<String>?):void{//重写接口方法}overrided fun onMoveFolderComplete(currentFolderGuid: String,destFolderGuid: String, selectedNotes: MutableSet<String>?):void{//重写接口方法}}
接口当做函数参数
- 通常定义一个私有化接口成员变量
- 通过函数传参,成员变量接收外部接口mExcutorProgressListener
- 这里外部接口mExcutorProgressListener可以在它的方法内调用接口方法
- 而成员变量listener可以在此类任何方法中调用
private MenuExecutor.ExecutorProgressListener mExecutorProgressListener;public void setMenuExecutorListener(MenuExecutor.ExecutorProgressListener listener) {//持有外部接口mExecutorProgressListener = listener;//调用接口方法,下面两个在这个方法体内是一样的mExecutorProgressListener.onExecutorComplete(action,selectedNotes);onExecutorComplete(action,selectedNotes) }private void test(){mExecutorProgressListener.onExecutorComplete(action,selectedNotes);
}
匿名实现接口
object表示一个匿名对象实现这个接口,且这个对象只会在此处使用
object :ExecutorProgressListener{override fun onExecutorComplete(action: Int, selectedNotes: MutableSet<String>?) {//重写接口方法
}override fun onMoveFolderComplete(currentFolderGuid: String?,destFolderGuid: String?,selectedNotes: MutableSet<String>?) {//重写接口方法}
}
3、OPPO便签接口具体分析
记得这个函数吗?我们上面刚见过!
调用上面这个函数,需要一个实现了接口的变量,这里用匿名类实现接口,再重写接口方法