public class Manager extends Employee { String department; public Manager(int number, String name, String sex, int age, double salary,String department) { super(number, name, sex, age, salary); this.department = department; } public void CalculateSalary() { this.salary = salary*1.5 ; } public void ShowInfo() { System.out.println("工号:"); System.out.println("姓名:"); System.out.println("性别:"); System.out.println("年龄:"); System.out.println("部门:"); System.out.println("工资:"); } }public class Test { public static void main(String[] args) { System.out.println("欢迎进入人事管理系统"); System.out.println("请输入员工工号:"); Worker worker = new Worker(011, "李华", "女", 25, 10000, "程序员"); System.out.println(worker); } },这个Test类怎么样调用前面类中的方法
时间: 2024-03-25 12:41:28 浏览: 209
在Test类中,可以通过创建Manager对象来调用Manager类中的方法,如下所示:
```
public class Test {
public static void main(String[] args) {
System.out.println("欢迎进入人事管理系统");
System.out.println("请输入员工工号:");
Manager manager = new Manager(001, "张三", "男", 35, 20000, "技术部");
manager.CalculateSalary(); // 调用Manager类中的CalculateSalary方法
manager.ShowInfo(); // 调用Manager类中的ShowInfo方法
}
}
```
在上面的代码中,我们创建了一个Manager对象并将它赋值给manager变量。然后我们可以使用这个变量来调用Manager类中的方法。例如,我们调用了CalculateSalary方法来计算经理的工资,并调用ShowInfo方法来显示经理的信息。
相关问题
Java public class Employee {String name; int salary; public 【代码1】{ //构造方法 this.name=name; this.salary=salary; } public String getDetails() { return " Name: " + name + "," + "Salary: " + salary; } } public class Manager extends Employee { //类继承;主类Manager包含main()方法 String department; //新增属性(字段) public Manager(String name,int salary,String department){ 【代码2】 //调用父类的构造方法 this.department=department; } public String getDetails() { return +name "salary," + "部门:" + department; //在子类里调用父类的构造函数 } public static void main(String[] args) { Manager m = new Manager("张三",5000,"财务部"); System.out.println(m.getDetails()); } }
代码1应该是public Employee(String name,int salary),其中参数name和salary分别表示员工的姓名和薪水。
代码2应该是super(name,salary),用于调用父类Employee的构造方法,以便完成员工姓名和薪水的初始化。
编写一个员工类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值。
以下是代码实现:
```java
class Employee {
private String name;
private String sex;
private int deptid;
private double salary;
public Employee() {
System.out.println("this is in employee gouzao method.");
}
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 + ", sex=" + sex + ", deptid=" + deptid + ", salary=" + salary);
}
}
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);
}
}
public class Test {
public static void main(String[] args) {
Manager manager = new Manager("张三", "男", 1, 10000, "财务部");
manager.show();
}
}
```
输出结果为:
```
name=张三, sex=男, deptid=1, salary=10000.0
deptmanager=财务部
```
阅读全文