gpt4 book ai didi

java - 从一个对象内部的另一个对象调用该对象的方法

转载 作者:行者123 更新时间:2023-12-02 03:15:52 24 4
gpt4 key购买 nike

我是 java 新手,我想创建一个多线程应用程序,如下所示:

  • 有两个主要对象:job 和 jobRunner。
  • jobRunner 将在开始时创建,它将获取描述作业的字符串列表,然后创建作业对象列表。
  • 每个作业对象都有一个方法来在单独的线程中运行一系列操作。使用它,jobRunner 将在单独的线程上一起运行一堆作业
  • jobRunner 还有一个方法来完成并报告作业状态,因此每个完成的作业都需要在其父对象中回调该方法

我的问题是关于最后一步的。另一个对象内部的对象如何调用其前一个对象的方法?或者是否可以将 jobRunner 对象的地址传递给作业对象,以便它们通过该地址调用该对象?谢谢你启发我:)

最佳答案

两个选项。1)使用回调(更简洁的方法)2)将一个引用JobRunner作为参数传入Job(快速方法)

回调示例声明一个接口(interface)并定义一个在作业生命周期中的各个点调用的方法,例如无效完成()

JobRunner可以实现该接口(interface),并将其传递给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();
}
}

关于java - 从一个对象内部的另一个对象调用该对象的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40319303/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com