gpt4 book ai didi

java - 如何检查一个类的实例是否可以访问另一个类中的方法?

转载 作者:行者123 更新时间:2023-11-29 08:36:25 25 4
gpt4 key购买 nike

我正在做一个小项目,我想要一个名为“DevelopmentEmployee”的类的列表,但只允许其中一个类操作另一个类“Project”中的某些方法。按照我的实现方式,Project 类有一个名为 projectLeader 的字段,它属于 DevelopmentEmployee 类型。当 DevelopmentEmployee 试图访问类 Project 中的方法时,我想检查 DevelopmentEmployee 是否等于 Project 的 projectLeader 的特定实例。

有点像

public class Project {
private DevelopmentEmployee projectLeader;
private List < Activity > activities = new ArrayList < Activity > ();

public Project(DevelopmentEmployee pL) {
this.projectLeader = pL;
}

public void addActivity(String activityName) {
if (projectLeader.equals(DevelopmentEmployee * ) {
activities.add(activity);
}
}
}

但我想不出一种方法来满足访问要求。 Project 类的实例如何知道谁在尝试访问它?

最佳答案

您还应该在 addActivity 中传递 DevelopementEmployee,以便根据 projectLeader 检查它。

public void addActivity(String activityName,DevelopmentEmployee employee) {
if (projectLeader.equals(employee) {
activities.add(activity);
}
}

然后你需要覆盖DevelopmentEmployee类中的equals方法,以正确检查相等性,如下所示:

public boolean equals(DevelopementEmployee e){
if(e!=null && this.employeeId==e.employeeId)
return true;
else
return false;
}

关于java - 如何检查一个类的实例是否可以访问另一个类中的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43832932/

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