java中编写一个员工类employee,包含name\sex\deptid\salary,分别为姓名、性别、部门编号、薪水。其中薪水为私有属性(即需要设计对应的get\set方法),包含一个方法为show()用于显示属性值。包含二个构造方法:一个不带参数,直接输出“this is in employee gouzao method.”。第二个带二个参数,为name和salary进行赋值。 编写一个管理员类manager,继承员工类employee。包含属性deptmanager(管理的部门)、和show()方法,其中show()方法重写父类的show方法,并在方法中先执行父类的方法体,再显示detmanager值。编写一个带5个参数的构造方法,在此构造方法内为name,sex,deptid,salary和deptmanager进行赋值。 创建测试类test,完成manager对象的创建,并调用show方法。 注:其中在manager中,需要使用Super对父类的构造方法进行调用,并通过super.sex和super.deptid进行赋值。在show方法中需要使用super.show调用父类的show再添加显示deptmanager值。
时间: 2024-03-20 07:43:55 浏览: 101
以下是Java代码实现:
```
// Employee类
public class Employee {
private String name;
private String sex;
private int deptid;
private double salary;
public Employee() {
System.out.println("This is in employee constructor.");
}
public Employee(String name, double salary) {
this.name = name;
this.salary = salary;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getDeptid() {
return deptid;
}
public void setDeptid(int deptid) {
this.deptid = deptid;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public void show() {
System.out.println("Name: " + name);
System.out.println("Sex: " + sex);
System.out.println("Deptid: " + deptid);
System.out.println("Salary: " + salary);
}
}
// Manager类
public class Manager extends Employee {
private String deptmanager;
public Manager(String name, String sex, int deptid, double salary, String deptmanager) {
super(name, salary);
super.setSex(sex);
super.setDeptid(deptid);
this.deptmanager = deptmanager;
}
public String getDeptmanager() {
return deptmanager;
}
public void setDeptmanager(String deptmanager) {
this.deptmanager = deptmanager;
}
@Override
public void show() {
super.show();
System.out.println("Deptmanager: " + deptmanager);
}
}
// Test类
public class Test {
public static void main(String[] args) {
Manager manager = new Manager("Jack", "Male", 1001, 10000, "Sales");
manager.show();
}
}
```
输出结果为:
```
This is in employee constructor.
Name: Jack
Sex: Male
Deptid: 1001
Salary: 10000.0
Deptmanager: Sales
```
阅读全文