public interface Callback
{
public void callback();
}
public class Callbackee implements Callback {
public void callback()
{
System.out.println("Hey, you called.");`
}
static{
new Callbackee().doCallback();
}
}
public class CallBacker {
Callback call;
public void registerCallback(Callback call) {
this.call=call;
}
//then just do the callback whenever you want. You can also, of course, use collections to register more than one callback:
public void doCallback() {
call.callback();
}
}
# 1 楼答案
很简单
在某个类或接口的某处,您有一个应该调用的方法: [访问修饰符][返回类型]名称([参数列表])
例如:
然后在某个类中,您要么重写该方法,要么实现它,或者其他什么。然后在执行回调的代码中,获取具有回调方法的类的类型的参数。例如:
如果您想在JavaAPI中看到回调方法的示例,请查看MouseListener、MouseMotionListener、KeyListener等等。当然,通常您可以注册多个回调
# 2 楼答案
下面是一个很好的教程:
http://slesinsky.org/brian/code/annotated_callback.html
虽然我不确定这是否是你正在考虑的事情
# 3 楼答案
您可以将回调方法包装在http://download.oracle.com/javase/1.4.2/docs/api/java/awt/event/ActionListener.html类中,然后调用ActionListener#actionPerformed(ActionEvent ev)