Java中的函数传递

转载自  Java中的函数传递

在C和C++中,函数的传递可以通过函数指针来实现。在C#中,函数传递可以通过委托、Action、Func来实现。Java中没有函数指针、没有委托,那函数要如何传递呢?

可以通过以下两种方式实现。

1、通过handler,在A类中实例化B类,并传递一个handler到B中。B通过handler发送消息,A中接收到消息后,执行相应的函数。严格的来说,这种不算是函数传递,只是变相达到了函数调用的目的。

2、通过接口来实现。下面是实现的代码。

ICallback.java

package com.sparkle.sgmjl;public interface ICallback {abstract void callback(String data);
}

在A类中传递ICallback给B类,代码如下。

ClassA.java

ClassA classA=new ClassA( new ICallback() {@Overridepublic void callback(String data) {Test(data);}}); private void Test(String data)
{Log.e("TEST",data))
}

ClassB.java

public ClassB(ICallback icallback){icallback("Call OK"); }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/328778.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Nginx搭建图片服务器(windows7)

1.进入官网下载nginx压缩包,解压后目录如下 2.在解压后的conf/nginx.conf配置文件中,添加添加或者修改带有颜色地方的代码 #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/e…

配置mybatis-plus逻辑删除

一、在pom文件里导入依赖 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>${mybatis.plus.boot.starter}</version> </dependency>二、在yml文件或者在properties…

Jexus支持HTTPS协议

众所周知&#xff0c;在HTTPS页面请求HTTP资料的时候&#xff0c;现代浏览器会拦截&#xff0c;提示用户是否继续&#xff0c;或者直接拦截&#xff0c;提示都不出来。 最近给自己做了个快速书签工具&#xff0c;点击书签就直接把书签发送到服务器地址&#xff0c;然后保存到我…

java面向对象高级分层实例_实体类

package bdqn.studentSys.entity; /*** 学生实体类* author Administrator**/ public class Student {private String name;//姓名private String pwd;//密码private int age;//年龄private int stuno;public int getStuno() {return stuno;}public void setStuno(int stuno) {…

虚拟机安装xp经验

虚拟机安装xp经验 1.打开vm软件 2.创建虚拟机 选中单个文件 用pe系统打开 3.用驱动精灵 创建2个分区50g 50g (一定要创建2个gost版要在d盘分配文件夹的)分配8g内存 4核cpu 4.将系统安装到分区上

JAVA实现汉字转换为拼音 pinyin4j/JPinyin

转载自 JAVA实现汉字转换为拼音 pinyin4j/JPinyin在项目中经常会遇到需求用户输入汉字后转换为拼音的场景&#xff0c;比如说通讯录&#xff0c;就会要求按名字首字符发音排序&#xff0c;如果自己写实现这方面的功能是个很好大的工程&#xff0c;还好网上有公开的第三方jar支…

给数据库表字段设置默认值

一、在数据库表中的操作方法 当表中的字段是varchar字段时可以这样设置&#xff1a; 例如我要设置stats&#xff08;状态这个字段默认为"1"&#xff09;&#xff0c;在创建表的时候sql语句可以这样写 stats varchar(1) CHARACTER SET utf8 NOT NULL DEFAULT 1 COMM…

Myeclipse创建第一个web项目

创建web项目 web project 创建java项目 选java project

使用cardme读写VCard文件,实现批量导入导出电话簿

转载自 使用cardme读写VCard文件&#xff0c;实现批量导入导出电话簿首先下载jar包cardme。 http://sourceforge.net/projects/cardme/?sourcenavbar cardme是基于java语言的操作vCard(后缀vcf)文件的开源项目。 在项目中有一个类net.sourceforge.cardme.engine.TestParser。是…

.NET Core系列 :4 测试

2016.6.27 微软已经正式发布了.NET Core 1.0 RTM&#xff0c;但是工具链还是预览版&#xff0c;同样的大量的开源测试库也都是至少发布了Alpha测试版支持.NET Core, 这篇文章 The State of .Net Core Testing Today 就将各个开源测试库的目前进展进行了汇总。本文我们的目的是在…

java高效字符串首字母大小写转换

通过找到一个移动ASCII的方式来处理字符串首字母大小写的问题 我们都知道在ascii 码表中 a的ASCIII码值是65而A的ASCII码值是 97 两个之间的差值是 32&#xff0c;所以&#xff0c;如果我们需要把一个小写字母转化成大写字母&#xff0c;那么我们只需要把这个 char 字符的asci…

java面向对象高级分层实例_BaseDao

package bdqn.studentSys.Dao; /*** 数据库帮助类* author Administrator**/ import java.sql.*; public class BaseDao {Connection connnull;PreparedStatement psnull;ResultSet rsnull;//连接数据库public void getConnection(){try {Class.forName("com.microsoft.sq…

Myeclipse 创建web项目的一些基本操作

上面是tomcat的工作路径 什么是工作路径呢&#xff1f; 启动tomcat 就开始监听8080端口了 在浏览器数据url 请求web请求 就会显示出index.jsp 上篇博客中有讲到更改tomcat端口 但是在运行中的修改是不会生效的 必须停止 再重启 怎么引入jar包&#xff1f; 支持中文 这样…

Java制作VCARD

转载自 Java制作VCARD 简介: vCard是电子名片的文件格式标准。它一般附加在电子邮件之后,但也可以用于其它场合(如在互联网上相互交换)。vCard可包含的信息有:姓名、地址资讯、电话号码、URL,logo,相片等。——摘自维基百科https://zh.wikipedia.org/wiki/VCardvCard规范容许…

java反射机制的简单使用和优缺点

java反射机制的使用 一、反射是什么&#xff1f; JAVA反射机制是在运行状态中&#xff0c;对于任意一个类&#xff0c;都能够获取这个类的所有属性和方法&#xff1b;对于任意一个对象&#xff0c;都能够调用它的任意一个方法和属性&#xff1b;这种动态获取类信息以及动态调…

有关技术分享

有人说&#xff0c;如果你想掌握好一门技术&#xff0c;那么最好的方式就是去当老师&#xff0c;去教会别人这门技术。在教别人的过程中&#xff0c;你必须要去深入的了解这门技术的方方面面&#xff0c;同时还要思考怎么才能让别人理解。每一个做过的人都知道&#xff0c;这要…

不可重复 幻读

幻读和不可重复读的区别 2014年09月15日 20:51:27 阅读数&#xff1a;26195 MySQl MySql默认的隔离级别为Repeatable Read&#xff0c;因此只会出现幻读的情况。 幻读 事务在插入已经检查过不存在的记录时&#xff0c;惊奇的发现这些数据已经存在了&#xff0c;之前的检测…

java生成验证码

转载自 java生成验证码 源码&#xff1a; package seed.lee.image;import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.IOException; import java.util.Random;import javax.imageio.ImageIO; …

ASP.NET Core 中文文档 第三章 原理(5)错误处理

原文&#xff1a;Error Handling作者&#xff1a;Steve Smith翻译&#xff1a;谢炀&#xff08;Kiler)校对&#xff1a;高嵩(jack2gs)、何镇汐 当你的ASP.NET应用发生错误的时候, 你可以采用本文所述的各种方法来处理这些问题。 配置错误处理页面 你在 Startup 类的 Configure(…

java面向对象高级分层实例_接口类

package bdqn.studentSys.Dao;import java.util.List;import bdqn.studentSys.entity.Student;/*** 学生表的接口* author Administrator**/ public interface StudentDao {//查询所有的学生public List<Student> getAllStudent();//修改学生信息public int UpdateStuden…