0 0

求教:Java支持函数指针吗?5

Java支持函数指针吗?
2009年3月11日 16:20

4个答案 按时间排序 按投票排序

0 0

java没指针!!! 你可以定义一个回调接口 功能相同

2009年3月17日 18:07
0 0

java支持,相当于回调函数

2009年3月13日 12:31
0 0

C的函数指针非常自由,对函数名称没要求,甚至改变其签名都可以。
在Java里你可以用visitor模式实现传递函数指针的功能,但是实现很复杂,而且没有C那么强大(过度封装和抽象的代价):

先声明一个接口(譬如叫visitor),带一个调用函数visit()。
然后写一个类继承你要传递函数指针的类,并实现visitor接口,在visit()函数中调用你要包装的函数。

然后需要函数指针的方法接收visitor类型的对象作为参数,通过该对象的visit()方法调用函数。

2009年3月11日 20:19
0 0

  C语言支持函数指针,其主要用途是实现Strategy(策略)模式,典型的应用如比较器函数,就是策略模式的一个例子。
   Java省略了函数指针,因为对象引用可以被用于提供同样的功能。
java中实现策略模式,声明一个接口来表示该策略,且为每个具体策略声明一个实现了该接口的类。如果一个具体策略只被使用一次,则常用匿名类实现声明和实例化。如果一个具体策略要被导出以重复使用,则常为一个私有的静态成员类,且通过一个公有静态final域被导出,其类型为该策略接口。

http://www.chinajavalab.com/cgi-bin/topic.cgi?forum=1&topic=709

2009年3月11日 16:37

相关推荐

    求教类似SUMIF;COUNTIF的条件函数的写法???

    求教类似SUMIF;COUNTIF的条件函数的写法???

    C语言算法精华

    随机数生成算法 anya Re: 伪随机数的生成算法? anya 计算并输出表达式结果 anya 计算并输出表达式结果2 anya 递归与栈溢出 anya Re: Excel 规划求解问题,求助,请教...Re: 请问自然图象的概率分布函数 anya 华

    C#上位机智能家居界面程序,下位机51单片机串口通讯

    C#界面编写学习,51单片机学习

    GNS3-各式故障解决方案

    10. **学习资源**:GNS3社区和在线论坛提供了丰富的教程和讨论,用户可以在其中寻找类似问题的解决方案,或向其他经验丰富的用户求教。 总之,"GNS3-各式故障解决方案"这个资料集为用户提供了丰富的实践指导,无论...

    S函数最大功率跟踪采用的是三次插值方法求教指出错误-sfun_mppt.m

    S函数最大功率跟踪采用的是三次插值方法求教指出错误-sfun_mppt.m 这是仿真模型和错误原因图 附件: sfun_mppt.m S函数程序   mppt.mdl 插值仿真模型 错误....

    S函数最大功率跟踪采用的是三次插值方法求教指出错误-mppt.mdl

    S函数最大功率跟踪采用的是三次插值方法求教指出错误-mppt.mdl 这是仿真模型和错误原因图 附件: sfun_mppt.m S函数程序   mppt.mdl 插值仿真模型 错误.jpg ...

    java考试题 求教

    ```java public class Emp { private int emp_id; private String emp_name; private String job; private double salary; public Emp(int emp_id, String emp_name, String job, double salary) { this.emp_...

    JAVA版《魔塔24层》

    作为一个java初学者,开发者通过实践创作了一个完整的24层迷宫塔游戏,旨在锻炼自己的编程技能,并向同行求教。源码的公开也为我们提供了一个学习和研究的宝贵资源。 首先,我们要理解Java Applet。Java Applet是一...

    Java语言程序设计自学指导书.doc

    "Java语言程序设计自学指导书" 本资源为一份关于 Java 语言程序设计的自学指导书,旨在帮助计算机相关专业的学生学习和掌握 Java 语言的基础理论和实践技能。该指导书涵盖了 Java 语言的历史发展、基本概念、语法...

    求教C++等等一系列的问题

    #### 标题解析:“求教C++等等一系列的问题” 这一标题表明了提问者对于C++及可能的其他编程技术存在疑问。C++是一种广泛应用于系统软件开发、游戏开发等多个领域的高级编程语言。对于初学者来说,掌握C++不仅能够...

    西农Java实习,实习五到实习六

    在“西农Java实习,实习五到实习六”这个项目中,我们可以看到一系列与Java编程相关的实习任务。西农,可能是指西北农林科技大学,它提供了这个实习项目,旨在帮助学生深化对Java语言的理解和应用能力。这个实习分为...

    课题扩充法专项阅读训练.doc

    答案揭示了男孩们为了支持因病掉光头发的布来恩,选择剃光头,以表达友谊和支持,从而展现出人性的温暖和团结的力量。 在阅读训练中,运用课题扩充法可以帮助学生深入思考文章的主题,理解作者的意图,同时锻炼他们...

    Java用eclipse插件计算器

    用eclipse插件制作的java计算器,基本功能都能实现,含jar,适合java初学者,需改进处求教

    java注册表修改ie主页

    刚学java做的一个通过注册表修改ie默认主页,不过会被杀毒拦截,怎么过杀毒拦截,求教

    对JAVA程序设计的感想.pdf

    Java程序设计是一门深入且广泛的技术,它不仅是一种计算机语言,更是人类智慧的结晶,具有极高的学习价值。Java的特点在于它的简洁性、安全性和跨平台能力,这使得它成为现代软件开发的重要工具。在学习Java的过程中...

    java词汇表

    这是我辛辛苦苦整理出来的java词汇表啊,大家可以参考一下哦,么么哒,新手求教了

    初中篇目理解性默写版.doc

    - 虚心求教:“三人行,必有我师焉。” - 复习的重要性:“温故而知新,可以为师矣。” - 实事求是:“知之为知之,不知为不知,是知也。” - 欢迎朋友:“有朋自远方来,不亦乐乎?” - 反省自我:“吾日三省...

    gogogo_saoleijava_

    在"saoleijava"这个标签下,我们可以理解为这是作者自我标识的编程学习过程,可能是分享、求教或展示自己的Java编程成果。在压缩包中的"gogogo"文件可能是项目的主要代码文件或打包文件,具体的内容分析需要实际查看...

    MSN错误解决方法详解

    MSN错误解决方法详解,msn求教:80072eff错误,暂时无法使用您的联系人列表_百度知道

    基于CS的图书系统信息管理

    Java是一种广泛使用的跨平台编程语言,尤其适合开发CS应用,因为它提供了丰富的API和强大的多线程支持,确保了程序的稳定性和可移植性。 其次,Java在图书系统信息管理中的作用主要体现在以下几个方面: 1. **用户...

Global site tag (gtag.js) - Google Analytics