一个员工类Employee作为父类,里面有一个show(),打印出姓名和地址.
一个时薪员工类Hourly和月薪员工类Salary继承员工类Employee,他们都有一个salary(),领工资的方法.
然后我在另外一个类里面时薪员工和月薪员工都new了2个新对象出来
分别是:hour1,hour2和salary1,salary2,都初始化了他们的属性:姓名和地址.
这个类里面有一个显示所有员工信息的方法showUsers(),
我怎么显示所有的员工信息?

解决方案 »

  1.   

    这个类里面有一个显示所有员工信息的方法showUsers(),
    我怎么显示所有的员工信息?你是想问如何自动判断是时薪员工还是月薪员工的对象,自动去调用对应的show()方法打印员工信息吗?
    如果是,两个子类需要重写父类的show方法,然后就是运行时绑定技术也就是多态来实现这个的
      

  2.   

    Is this what you need?package test;import java.util.ArrayList;
    import java.util.List;public abstract class Employee { private String name;
    private String addr; public Employee(String name, String addr) {
    super();
    this.name = name;
    this.addr = addr;
    } public String getName() {
    return name;
    } public void setName(String name) {
    this.name = name;
    } public String getAddr() {
    return addr;
    } public void setAddr(String addr) {
    this.addr = addr;
    } public void show() {
    System.out.println("Name: " + name + ", addr: " + addr);
    } public abstract void salary(); public static void main(String[] args) {
    new Manager().showUsers();
    }
    }class Hourly extends Employee { public Hourly(String name, String addr) {
    super(name, addr);
    // TODO Auto-generated constructor stub
    } @Override
    public void salary() {
    // TODO Auto-generated method stub
    System.out.println("按月拿工资");
    }}class Salary extends Employee { public Salary(String name, String addr) {
    super(name, addr);
    // TODO Auto-generated constructor stub
    } @Override
    public void salary() {
    // TODO Auto-generated method stub
    System.out.println("按小时拿工资");
    }}class Manager {
    List<Employee> userList = new ArrayList<Employee>(); Manager() {
    userList.add(new Hourly("A", "abc"));
    userList.add(new Hourly("B", "def"));
    userList.add(new Hourly("C", "ghi"));
    userList.add(new Hourly("D", "jkl"));
    } public void showUsers() {
    for (Employee employee : userList) {
    employee.show();
    }
    }
    }
      

  3.   

    不判断 直接打印出来..
    还没接触多态该怎么弄呢.
    未必我要一个对象调一个show么!
      

  4.   

    终于看懂了你的问题...做一个employee的array,两个子类都算employee,所以是可以的。 然后在showUsers()里走一遍loop,array里的每个元素都叫一下show()就好了...