如何在尚未定义的类的实例上调用方法?

时间:2014-04-03 19:18:36

标签: java class methods arraylist instance

我有一个名为Dev的类,它包含一个名为addToTasksAssigned的方法,用于将任务添加到ArrayList

public void addToTasksAssigned(String newTask){
    tasksAssigned.add(newTask);
}

在我的任务类中,我有一个名为setAssignedDev的方法。我想将此函数的输入添加到Dev:

中分配的任务列表中
public void setAssignedDev(String newDev){
    this.assignedDev=newDev;
    newDev.addToTasksAssigned(getProject());  //getProject() here is just the task name    

    }

我知道我不能调用一个尚不存在的类,这就是代码不起作用的原因。有没有办法限制'String newDev'输入,以便它必须是Dev类的实例?有没有办法从其他类引用类的实例?

由于

1 个答案:

答案 0 :(得分:0)

与您的注册用户进行Dev课程:

public class Dev {

    private final String name;
    private final List<?> tasks = new ArrayList<>();

    //getters / setters / constructors, etc

}

从那里开始,有一个管理Dev成员的课程:

public class UserManager {

    private Map<String, Dev> devs = new HashMap<>();

    public void addDev(Dev dev) {
        this.devs.put(dev.getName(), dev);
    }

}

您应该最初加载这些并通过某种形式访问(保持管理器通过主类链接,并传递主类实例是一种好方法)。这将允许您传递Dev对象,并在将来为其对象添加更多功能