首页 > 解决方案 > 不带参数的 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;
}

标签: java

解决方案


员工类应如下所示:

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'));

推荐阅读