android java 回调方法接口
常用用法:回调方法接口,向上转型动态绑定,常量接口。
回调方法接口:
Java代码
public interface ICallback {
public void func();
}
public class Caller {
ICallback callback;
public void doCallback() {
callback.func();
}
public void setCallback(ICallback callback) {
this.callback = callback;
}
}
public class MainClass {
public MainClass() {
}
public static void main(String[] args) {
Caller caller = new Caller();
caller.setCallback(new ICallback () {
public void func() { System.out.println("dosth"); }
});
caller.doCallback();
}
}
=========================================================================
向上转型:
Java代码
interface People{
void peopleList();
}
class Student implements People{
public void peopleList(){
System.out.println("I’m a student.");
}
}
class Teacher implements People{
public void peopleList(){
System.out.println("I’m a teacher.");
}
}
public class Example{
public static void main(String args[]){
People a; //声明接口变量
a=new Student(); //实例化,接口变量中存放对象的引用
a.peopleList(); //接口回调
a=new Teacher(); //实例化,接口变量中存放对象的引用
a.peopleList(); //接口回调
}
}
结果:
I’m a student.
I’m a teacher.
=================================================================================
常量接口就不举例了。举个回调接口在Android中的例子。
实例(对于Android界面上Button点击事件监听的模拟):
1.定义接口
Java代码
public interface OnClickListener {
public void OnClick(Button b);
}
2. 定义Button
Java代码
public class Button {
OnClickListener listener;
public void click() {
listener.OnClick(this);
}
public void setOnClickListener(OnClickListener listener) {
this.listener = listener;
}
}
3. 将接口对象OnClickListener 赋给Button的接口成员
Java代码
public class MyActivity extends Activity{
Button button = new Button();
button.setOnClickListener(new OnClickListener(){
public void OnClick(Button b) {
System.out.println("clicked");
} });
}
}
android java 回调方法接口相关推荐
- Java 回调 (Callback) 接口学习使用
文章目录 Java 回调 (Callback) 接口学习使用 1.什么是回调(Callback)? 2.Java代码示例 2.直接调用 3.接口调用 4.Lambda表达式 推荐看我的InfoQ地址, ...
- Java回调方法详解
回调在维基百科中定义为: 在计算机程序设计中,回调函数,是指通过函数参数传递到其他代码的,某一块可执行代码的引用. 其目的是允许底层代码调用在高层定义的子程序. 举个例子可能更明白一些:以Androi ...
- java 回调方法是什么意思_java什么是回调
软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用.回调和异步调用.同步调用是一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用;回调是一种双向调用模式,也就是 ...
- Java回调方法(CallBack)
一.前言 在进行应用开发时,不同模块之间存在着相互调用的关系.调用的方式分为以下几种: 同步调用 fun(a)调用fun(b),fun(a)等待fun(b)执行完后再进行下一步. 同步调用会引起代码的 ...
- unity 动画原动画返回_Unity3D 动画回调方法
最近发现很多coder.在用Unity开发游戏的时候都需要一个需求就是..动画播到某一帧就要干什么事情.而且希望能得到回调. 在unity里面的window菜单有个.Animation工具.打开它.然 ...
- 【Android】Java回调原理并结合Android源码进行理解
回调机制是一种常见的设计模式,它把工作流内的某个功能按照约定的接口暴露给外部使用者,为外部使用者提供数据,或要求外部使用者提供数据. 之前对于回调一直是一知半解,而且总是停留在C++的函数指针的理解之 ...
- Android:按键响应方式第一种onClick属性,第二种方法接口类,第三种方式匿名内部类,第四种方式Activity
一.在xml 中设置按键的onClick 绑定的函数 新建一个工程 然后在相关的页面添加一个Button 运行一下 实际上,现在这个按键一,我们去运行的时候,他是没有任何的反馈的,我们按完它,他没有任 ...
- JAVA和Android的回调机制
本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17483273),请尊重他人的辛勤劳动成果,谢谢 以 前不理解什么叫回 ...
- java 回调url_java开发之——[接口回调]
一.回调的含义和用途 1. 什么是回调? 一般来说,模块之间都存在一定的调用关系,从调用方式上看,可以分为三类:同步调用.异步调用和回调.同步调用是一种阻塞式调用,即在函数A的函数体里通过书写函数B的 ...
最新文章
- map:erase删除元素之后迭代器失效的问题!(iterator not incrementable)
- php pdo 执行多条语句,php – 在pdo预处理语句中执行多插入或多个不同插入是更好/更快?...
- java nio 追加写文件_Java NIO在文件末尾追加数据
- android aar编程,AndroidStudio脚本命令指定AAR生成目录与版本号
- html在表单左上角显示文字,js+css实现增加表单可用性之提示文字
- ML.NET Cookbook:(10)如何使用模型做出一个预测?
- linux php自动执行_linux下实现定时执行php脚本
- java 去除 quot,JAVA去除web页面传入后台的特殊字符工具类 | 学步园
- tensorflow has no attribute logging
- Nodejs中Mongodb的基本使用
- matlab 几何布朗运动 股价,某股票价格遵循几何布朗运动
- 360极速浏览器调用selenium
- spring使用中applicationContext.xml文件头部声明
- explain 介绍
- html文件右键没有打开方式,一个文件打不开,点右键,怎么在打开方式中加入Word,Excel的打开方式,打开方式中有Word的打开方式?...
- 【Matlab】希腊字母
- jQuery超详细入门教程
- .Net Core MVC引入static静态变量到.cshtml页面
- iOS7新特性 ViewController转场切换(二) 系统视图控制器容器的切换动画---push pop present dismis
- 在sql执行横表转换过程中,出现特殊字符‘∞’
热门文章
- python classmethod知识_python基础知识讲解——@classmethod和@staticmethod的作用
- mysql 拼接sql批量执行_Mysql 学习笔记之 SQL 执行过程
- 两个超长正整数的加法c语言,二个超长正整数的相加
- shmmax单位_linux 内存管理——内核的shmall 和shmmax 参数
- 手绘线条一直画不直_我学素描,线条画不直怎么办啊?
- ‘fopen‘: this function or variable may be unsafe.
- TDD 与 CI 在 Python 中的实践
- rsync源目录写法的一点小细节
- 内核随记(三)--同步(2)【转】
- PHP开发如何实现多线程?