java 接口回调
学习自:http://blog.csdn.net/xiaanming/article/details/8703708/
http://hellosure.iteye.com/blog/1130176 内容and评论都很精彩,现在只是学习了概念,以后在用到还需要继续研究。
A类实现一个接口,接口中有回调方法f,类B有方法fun(),类A对象a有类B对象的引用b,a调用b的方法fun(),在这个方法fun()中又调用了a实现的接口里的方法f。
在安卓中,线程run方法就是一个回调方法,start之后调用了run;android中消息处理一般都是接口回调的方式处理的。
A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,D这个方法就叫回调方法
比较经典的回调方式:
- Class A实现接口CallBack callback
- class A中包含一个class B的引用b
- class B有一个参数为callback的方法f(CallBack callback)
- A的对象a调用B的方法 f(CallBack callback) ——A类调用B类的某个方法 C
- 然后b就可以在f(CallBack callback)方法中调用A的方法 ——B类调用A类的某个方法D
ps:遇到了匿名内部类的疑惑,关于list用具体类实现list接口,还有譬如OnClickListener,都是匿名内部类的实现,只是这个类没有名字,但是实现了该接口
匿名内部类:
1,匿名内部类其实就是内部类的简写格式。
2,定义匿名内部类的前提:内部类必须是继承一个类或者实现接口。
3,匿名内部类的格式: new 父类或者接口(){定义子类的内容}
4,其实匿名内部类就是一个匿名子类对象。 可以理解为带内容的对象。
5,匿名内部类中定义的方法最好不要超过3个。
note:接口或者规范能在开发过程中做到分离。
java 接口回调的更多相关文章
- Java学习之Java接口回调理解
Java接口回调 在Java学习中有个比较重要的知识点,就是今天我们要讲的接口回调.接口回调的理解如果解释起来会比较抽象,我一般喜欢用一个或几个经典的例子来帮助加深理解. 举例:老板分派给员工做事,员 ...
- Java接口回调机制
一.前言 最近在看android Fragment与Activity进行数据传递的部分,看到了接口回调的内容,今天来总结一下. 二.回调的含义和用途 1.什么是回调? 一般来说,模块之间都存在一定的调 ...
- Java接口回调
public class A { private D d; private C c; public A (C c) { this.c = c; } public void setD (D d) { t ...
- 回调函数、Java接口回调 总结
谈到回调,我们得先从回调函数说起,什么叫回调函数呢? 回调函数是什么? 百度百科的解释:回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用 ...
- java中的接口回调
[接口回调]接口回调是多态的另一种体现.接口回调是指:可以把使用某一个接口的类创建的对象的引用赋给该接口声明的接口变量中,那么该接口变量就可以调用被类实现的接口中的方法.当接口变量调用被类实现的接口中 ...
- java 接口的回调
Example6_3.java interface ShowMessage { void 显示商标(String s); } class TV implements ShowMessage { pub ...
- java开发之——[接口回调]
一.回调的含义和用途 1. 什么是回调? 一般来说,模块之间都存在一定的调用关系,从调用方式上看,可以分为三类:同步调用.异步调用和回调.同步调用是一种阻塞式调用,即在函数A的函数体里通过书写函数B的 ...
- Java 接口及接口回调_Chris
题目: 利用接口和接口回调,实现简单工厂模式,当输入不同的字符,代表相应图形时,利用工厂类获得图形对象,再计算以该图形为底的柱体体积. 代码: 1.Test.java /** * 测试类,包含一个主方 ...
- Java基础--接口回调(接口 对象名 = new 类名)理解
接口 对象名1 = new 类名和类名 对象名2 = new 类名的区别是什么? 实例 /** *Person.java 接口 */ public interface Person { void in ...
随机推荐
- Mongoose 参考手册
转自:https://cnodejs.org/topic/548e54d157fd3ae46b233502 Mongoose 是什么? 一般我们不直接用MongoDB的函数来操作MongoDB数据库 ...
- Linq To Entity学习实践
public class CustomDataContext<TEntity> : System.Data.Linq.DataContext where TEntity : class,n ...
- DataSet导出到Excel文件
public static void ExportToExcel(DataSet source, string fileName) { System.IO.StreamWriter excelDoc ...
- android中提示&对话框----AlertDialog
AlertDialog(对话框) 一.对话框的基本使用流程 step1:创建AlertDialog.Buider; step2:调用setIcon()设置图标,setTitle()或者setCusto ...
- javascript 获取焦点和失去焦点事件
利用传参的方式提高方法的复用性 这里涉及到JavaScript的字符串拼接操作 </tr> <<tr height="40px"> <td> ...
- LeetCode OJ-- Interleaving String **@
https://oj.leetcode.com/problems/interleaving-string/ 刚开始用递归做,但是超时了 class Solution { public: bool fl ...
- LeetCode OJ--Word Search **
https://oj.leetcode.com/problems/word-search/ 类似于在棋盘上走步,走过的地方不能再走,每次都可以走当前位置的上.下.左.右,问能不能走出要求的形状来. 深 ...
- Hrbust 2363 Symmys (Manacher + DP)
题目链接 Hrbust 2363 来源 “科林明伦杯”哈尔滨理工大学第七届程序设计团队赛 Problem J 题意 给出一个长度为$1e6$的字符串,求最小可重回文子串覆盖数量 首先Manach ...
- java数据结构和算法10(堆)
这篇我们说说堆这种数据结构,其实到这里就暂时把java的数据结构告一段落,感觉说的也差不多了,各种常见的数据结构都说到了,其实还有一种数据结构是“图”,然而暂时对图没啥兴趣,等有兴趣的再说:还有排序算 ...
- Java NIO中的Channel接口
1. Channel 通道,可以将指定文件的部分或全部直接映射成Buffer. 不能直接读写Channel中的数据,Channel只能与ByteBuffer交互. 读数据时,把Channel中的数据 ...