社区
Java SE
帖子详情
关于指针的替代.
Helloooooo
2006-02-11 07:54:18
一般而言,尽量不要用方法指针,有高人写书道"应该用接口和内部内"代替,请大家给个例子,怎么替代:
比如,我有一个方法myprint(int i,method f),是打印f(i)的,怎么用接口和内部类来替代?
...全文
126
6
打赏
收藏
关于指针的替代.
一般而言,尽量不要用方法指针,有高人写书道"应该用接口和内部内"代替,请大家给个例子,怎么替代: 比如,我有一个方法myprint(int i,method f),是打印f(i)的,怎么用接口和内部类来替代?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
didoleo
2006-02-17
打赏
举报
回复
public class Test{
public void play(Didoleo didoleo){
//比如这里做一些play的事情
didoleo.domysth(); //这里就被插入了本来play没有的功能,而这些功能是动态的。
//你想让他干什么就在myprint里面实现。这样就使的Test类"活"
//起来了,也是扩展Test类的一种途径。现在不是提倡面向接口变 程 吗
}
}
didoleo
2006-02-17
打赏
举报
回复
callback 有时候会在这种时候用到。
比如,有一个exe或者dll(首先你不可能去修改这个exe),他的功能是完成一个文件copy ,
但是可惜他没有进度条显示功能,但好在他这个copy功能的方法参数中
有一个是方法的指针。那么我在调用这个copy功能的函数时,
把我自己做的一个显示进度条的方法指针传给他,让他完成copy
的同时又回掉我自己实现的完成显示进度条的功能。
上面说的是用C语言的实现。
但是在java里面只能用接口来实现。同样你可能拿到一个class而不是java
原文件。你也不可能去改这个class。
HengHuan
2006-02-13
打赏
举报
回复
远方有一盏灯
执假以为真
2006-02-11
打赏
举报
回复
这样做究竟是有什么好处,有什么目的要这么做呢?
冷月无声高手,可以解释一下吗?
didoleo
2006-02-11
打赏
举报
回复
//比如说
// Helloooooo 要调用Test里的play方法,而Test的play方法又callback了Helloooooo 里的//myprint方法。
public class Helloooooo implements Didoleo {
public Helloooooo(){
}
public void domysth(){
myprint(100);
}
public void myprint(int i){ // callback method
System.out.println("Hello Helloooooo "+i);
}
public static void main(String[] args){
Helloooooo helloooooo=new Helloooooo();
Test test =new Test();
test.play(helloooooo);
}
}
//////////////////////////
public interface Didoleo{
public void domysth();
}
//////////////////////////
public class Test{
public void play(Didoleo didoleo){
didoleo.domysth();
}
}
didoleo
2006-02-11
打赏
举报
回复
我想那位高人可能是说在c++里可以将方法的指针传递给调用者。
java里面不叫指针,只能用接口实现,其实这就是传说中的回调 --callback
免费下载:C语言难点分析整理.doc
关于指向
指针
的
指针
这部分介绍了指向
指针
的
指针
的概念和用法。 ### 67. C/C++ 误区一:void main() 这部分解释了为什么不应该使用`void main()`。 ### 68. C/C++ 误区二:fflush(stdin) 这部分解释了`fflush...
改善程序设计技术的50个有效做法(CC++)(free)
14. **预处理器宏**:谨慎使用宏,尽量用函数或模板替代,以避免宏带来的副作用。 15. **C++11及更高版本特性**:学习并利用C++11及其以后版本引入的新特性,如lambda表达式、右值引用、auto关键字等。 16. **多...
C语言学习—使用函数
指针
替代switch...case...
使用函数
指针
替代switch...case...
c++: 引用能否替代
指针
? 详解引用与
指针
的区别.
引用无法改变指向,所以引用无法替代
指针
,引用只是能在大多数情况下简化我们的代码2.引用在语法上不占地址,
指针
开空间3.因为引用必须进行初始化,所以引用比
指针
更安全一些,容易出现野
指针
,不容易出现野引用4.在sizeof...
智能
指针
.
智能
指针
全局对象在程序启动时分配,在程序结束时销毁;对于局部自动对象,当我们进入其定义所在的程序块时被创建,在离开块时销毁.局部static对象在第一次使用前分配,在程序结束时销毁. 1.普通
指针
初始化方法: //方法...
Java SE
62,629
社区成员
307,258
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章