簡體   English   中英

如何在尚未定義的類的實例上調用方法?

[英]How do I invoke a method on an instance of a class that isn't yet defined?

我有一個名為Dev的類,其中包含一個名為addToTasksAssigned的方法,該方法將任務添加到ArrayList中

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

在任務類中,我有一個名為setAssignedDev的方法。 我希望將此功能的輸入添加到開發人員分配的任務列表中:

public void setAssignedDev(String newDev){
    this.assignedDev=newDev;
    newDev.addToTasksAssigned(getProject());  //getProject() here is just the task name    

    }

我知道我無法調用尚不存在的類,這就是代碼無法正常工作的原因。 有沒有一種方法可以限制'String newDev'輸入,使其必須是Dev類的實例? 沒有辦法引用其他類的類實例嗎?

謝謝

與您的注冊用戶一起進行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對象,並在將來向其對象添加更多功能

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM