设计一个部门类 Dept,只读变量包括部门编号、部门名称、所在位置,方法包括输出部门信息编写一个员工信息类 Emp,只读变量包括员工编号、员工姓名、工种、雇佣时间、工资、补助、部门,方法包括输出员工信息、计算员工的薪水、修改员工补助并输出修改之后的薪水 Java
时间: 2024-12-23 07:26:42 浏览: 4
在Java中,你可以按照以下结构设计这两个类:
首先,创建一个表示部门的类`Dept`,它包含一些只读属性(final变量):
```java
public class Dept {
private final int deptNo; // 部门编号
private final String deptName; // 部门名称
private final String location; // 所在位置
public Dept(int deptNo, String deptName, String location) {
this.deptNo = deptNo;
this.deptName = deptName;
this.location = location;
}
// 输出部门信息的方法
public void displayDepartmentInfo() {
System.out.println("部门编号: " + deptNo);
System.out.println("部门名称: " + deptName);
System.out.println("所在地: " + location);
}
}
```
接着,创建一个表示员工的类`Emp`,同样有只读属性,还包括一个`dept`字段引用部门对象以及一些操作员方法:
```java
public class Emp {
private final int empNo; // 员工编号
private String empName; // 员工姓名
private String jobTitle; // 工种
private Date hireDate; // 雇佣时间
private double salary; // 工资
private double allowance; // 补助
private Dept department; // 部门引用
public Emp(int empNo, String empName, String jobTitle, Date hireDate, double salary, Dept department) {
this.empNo = empNo;
this.empName = empName;
this.jobTitle = jobTitle;
this.hireDate = hireDate;
this.salary = salary;
this.department = department;
}
// 输出员工信息的方法
public void displayEmployeeInfo() {
System.out.println("员工编号: " + empNo);
System.out.println("员工姓名: " + empName);
System.out.println("工种: " + jobTitle);
System.out.println("雇佣时间: " + hireDate);
System.out.println("工资: " + salary);
System.out.println("补助: " + allowance);
System.out.println("所属部门: " + department.getDeptName());
}
// 计算员工薪水的方法
public double calculateSalary() {
return salary + allowance;
}
// 修改员工补助并输出新薪水的方法
public void modifyAllowanceAndDisplay(double newAllowance) {
allowance = newAllowance;
System.out.printf("新的补助为: %.2f, 薪水总额变为: %.2f\n", newAllowance, calculateSalary());
}
}
```
阅读全文