用Java写一段代码,实现编写程序,设计一个父类,员工类,属性包含姓名,年龄,工资,所有属性进行封装,不包含构造器,方法包含1有show方法,实现对属性信息的展示()。再设计一个子类,行政人员类,属性包含行政人员工号,属性封装,要包含构造器,包含方法1负责考勤,方法2,重写父类show方法:显示结果包含:(姓名,年龄,工号,工资),最后设计测试类,创建行政人员类的具体对象,利用setter方法将(姓名:李梅,年龄:30,工号:201905,工资:5000)赋值给对象属性,再调用show方法显示该对象的所有相关信息。
时间: 2024-03-23 10:42:06 浏览: 63
好的,下面是 Java 代码实现:
```java
// 定义父类:员工类
class Employee {
private String name;
private int age;
private double salary;
// 封装属性,不包含构造器
// 封装姓名属性
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
// 封装年龄属性
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
// 封装工资属性
public void setSalary(double salary) {
this.salary = salary;
}
public double getSalary() {
return salary;
}
// 实现show方法,展示属性信息
public void show() {
System.out.println("姓名:" + name + ",年龄:" + age + ",工资:" + salary);
}
}
// 定义子类:行政人员类
class AdministrativeStaff extends Employee {
private String staffNumber;
// 封装行政人员工号属性,并包含构造器
public AdministrativeStaff(String staffNumber) {
this.staffNumber = staffNumber;
}
public String getStaffNumber() {
return staffNumber;
}
// 重写父类show方法,显示结果包含:(姓名,年龄,工号,工资)
@Override
public void show() {
System.out.println("姓名:" + getName() + ",年龄:" + getAge() + ",工号:" + staffNumber + ",工资:" + getSalary());
}
// 方法1:负责考勤
public void attendance() {
System.out.println("行政人员考勤打卡!");
}
}
// 测试类
public class Test {
public static void main(String[] args) {
// 创建行政人员类的具体对象
AdministrativeStaff adminStaff = new AdministrativeStaff("201905");
// 利用setter方法将(姓名:李梅,年龄:30,工资:5000)赋值给对象属性
adminStaff.setName("李梅");
adminStaff.setAge(30);
adminStaff.setSalary(5000);
// 调用show方法显示该对象的所有相关信息
adminStaff.show();
// 调用方法1:负责考勤
adminStaff.attendance();
}
}
```
运行结果:
```
姓名:李梅,年龄:30,工号:201905,工资:5000.0
行政人员考勤打卡!
```
阅读全文