java - 不带参数的 Setter Java OOP
问题描述
我想在创建新员工对象时自动创建一个员工 ID。我正在为我的作业实施 OOP 概念。我的问题是我想使用 getter 和 setter 来创建 id。但是,由于 id 应该是自动生成的,所以在创建实例时我不能为参数设置任何值。我该如何解决这个问题?
private String employeeID;
public void setEmployeeID(String employeeID){
Random rand = new Random();
int randint = rand.nextInt(100000);
char subId = 'E';
employeeID = subId + String.valueOf(randint);
this.employeeID = employeeID;
}
public String getEmployeeID(){
return employeeID;
}
解决方案
员工类应如下所示:
public class Employee {
private String employeeID;
public Employee() {
}
public void setEmployeeId(String employeeID){
this.employeeID = employeeID;
}
public String getEmployeeId(){
return employeeID;
}
}
从要分配新 id 的类中,使用以下命令:
public String generateId(String subId) {
Random rand = new Random();
int randint = rand.nextInt(100000);
return subId.concat(String.valueOf(randint));
}
Employee employee = new Employee();
employee.setEmployeeId(generateId('E'));
推荐阅读
- bash - 程序与 openmpi 挂起
- redux - 为什么我的 Redux Thunk 操作的结果返回一个 Promise?
- mysql - 数据库中的时区错误
- assembly - 如何检测何时按下按钮?
- python - BrokenPipeError:[Errno 32] 运行 GAN 时出现断管错误
- java - eclipse 无法运行 main “错误无法找到或加载主类”
- vue.js - Vuetify - 如何更改 v-textarea 行高?
- javascript - 使用量角器测试非角度页面无法单击链接元素
- javascript - 初学者异步/等待问题
- html - 随着用户的进步,向表单添加新选项