如何使用接口来实现回调(callback) 觉得callback这个在c++里比较明确,传个函数指针就行了只要自己没有明确调用那个函数但通过别的方式调用了就算callback,如java里通过接口调子类函数,还有reflect,但总觉得有点牵强。 个人理解,呵呵 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://dev.csdn.net/Develop/article/30%5C30867.shtm这个是我搜索出来的不知道有没有用? 这个我研究过,下面是个简单的例子,估计java的事件处理机制就是这么做的。import java.io.*;interface call{ public void callme();}class inst implements call{ public void callme() { System.out.println("Call inst"); } }public class callback{ static void run(call cc) { cc.callme(); } public static void main(String[] args) { run(new inst()); } } 一个更为完整的实现。import java.io.*; interface call{ public void proc(sender src,int wparam); }class sender{ protected call ie; public sender(call event) { ie=event; } public void nofify(int wparam) { ie.proc(this,wparam); } }class receiver implements call{ public void proc(sender src,int par) { System.out.println(src); System.out.println(par); } }class sandr extends senderimplements call{ public sandr(call event) { super(event); } public void proc(sender src,int par) { System.out.println(src); System.out.println(par); } }public class callback{ public static void main(String[] args) { sandr s1=new sandr(null); sandr s2=new sandr(s1); s2.nofify(10); s1.proc(s2,10); s2.proc(s1,10); } } 跪求帮忙!关于ByteArrayTest oracle连接池最大连接数问题 画板如何实现截图功能? 关于学习的一些 一个文件操作的顾虑 配置iPlanet Web Service 6.0 时出现问题,请高手帮忙! 如何生成timestamp 你们整天说java ,主要用来开发什么啊?我主要是:Desktop Application/applet. 关于sun.net.ftp的问题 java socket 程序打成jar后运行 无法监听端口 请教大家一个小问题! 如何更改JB生成的本地可执行文件的图标?默认是一个J字的图标
这个是我搜索出来的
不知道有没有用?
import java.io.*;
interface call
{
public void callme();
}class inst implements call
{
public void callme()
{
System.out.println("Call inst");
}
}public class callback
{
static void run(call cc)
{
cc.callme();
}
public static void main(String[] args)
{
run(new inst());
}
}
import java.io.*;
interface call
{
public void proc(sender src,int wparam);
}class sender
{
protected call ie;
public sender(call event)
{
ie=event;
}
public void nofify(int wparam)
{
ie.proc(this,wparam);
}
}class receiver implements call
{
public void proc(sender src,int par)
{
System.out.println(src);
System.out.println(par);
}
}
class sandr extends sender
implements call
{
public sandr(call event)
{
super(event);
}
public void proc(sender src,int par)
{
System.out.println(src);
System.out.println(par);
}
}
public class callback
{
public static void main(String[] args)
{
sandr s1=new sandr(null);
sandr s2=new sandr(s1);
s2.nofify(10);
s1.proc(s2,10);
s2.proc(s1,10);
}
}