像这种的我该用怎么来写呢

img

定义一个接口,借口定义一个获取工资的方法,写两个实现类。测试方法中,使用接口类型就行

首先,我们审题:
测试类:Test类
方法:main方法
要求:把若干个不同类型的员工存在一个Employee类型数组中,打印输出每个员工的当月工资
思路:题目要求我们使用Test类,并且他是主类,在里面的main方法中储存一个Employee类型数组,并打印每个员工的当前工资,那么我们可以这么想:如果要打印每个员工的工资,则必须遍历数组,若想打印每个员工的工资,则需要写一个方法,用于输出工资,且方法必须写在Employee类中,因为数组是Employee类型
OK,思路存在,实践开始,以下是我提供的代码来解决我们思路中的每个问题:
首先是创建Employee类型数组,这个无需多言,我们弄上3个员工,并将员工和资金写入参数,像这样:

//创建Test类和创建main方法我就不写了,以下是main方法中的代码
var staff = new Employee[3];//创建一个Employee类型的数组
staff[0] = new Employee("Jeck",4000);//创建Employee对象,该对象拥有Employee类的构造器
staff[1] = new Employee("Tom",3888);//......
staff[2] = new Employee("Harry",5660);//......
for (Employee e: staff)
{
  System.out.println(e.getName() + e.getSalary());//输出对象e调用方法后的值,这个方法要写在Employee类中
}

接着我们来看Employee类,他其实可以与Test类放在同一个java文件里,或者单独拿出来放在与Test.java相同目录的文件夹下(Employee.java),结果一样

class Employee
{
    private String name;
    private int salary
    public Employee(String a , int b)//这里是一个构造器,每个Employee对象都拥有该构造器
    {
        name = a;
        salary = b;
    }
    public String getName()//getName方法,他返回构造器中的a 加上一个字符串
    {
        return name + "'s salary = ";
    }
    public int getSalary()//getSalary方法,他返回构造器中的b
    {
        return salary;
    }
}

那么最后的输出结果应该是这样的:


Jeck's salay = 4000
Tom's salay = 3888
Harry's salay = 5660

OK,以上就是全部内容,如果你觉得有帮助的话,请采纳
(~ ̄▽ ̄)~