我是java的新手,我想创建一个多线程应用程序,我将要描述:
我的问题是最后一步。一个对象在另一个对象中如何调用它的前一个对象的方法?或者是否可以将jobRunner对象的地址传递给作业对象,以便它们可以通过该地址调用对象?谢谢你启发我:))
答案 0 :(得分:2)
两个选项。 1)使用回调(清洁方法) 2)将参考JobRunner作为参数传递给Job(快速方法)
回调示例 声明接口并定义要在作业生命周期中的各个点调用的方法,例如void finished()
JobRunner可以实现该接口,并将其传递给Job。作业完成后,它可以调用回调方法。
简单回调示例
public interface JobUpdate {
void jobCompleted();
}
public JobRunner implements JobUpdate {
@override
public void jobCompleted() {
// Our implemented callback method, called from Job
}
}
public Job() {
private JobUpdate update;
public Job(JobUpdate update) {
this.update = update;
}
public void runJob() {
// at correct point, invoke the appropriate callback method
jobUpdate.jobCompleted();
}
}