All class are supported with default constructor, proper constructor, set, get and toString method.
1. create a class “Employee” having id ,name ,gender, and job.
2. create a subclass “Worker” having hours worked, wages per hour. Write getSalary method to salary.
3. create a subclass “SalesMan” having sales and commission percent . Write getCommission method to calculate salary.
4. create a client class “Roll” to have any employee by identifying using menu to print salary details. 
        Input can be random , but collect Worker and SalesMan details separately.
1. 建立一个class “Employee” 包括 id , name ,gender,job,
2. 建立一个class “Worker” 包括 hours (工作时间), wages(每小时工资)
3. 建立一个class “ SalesMan”  包括 sales(销售额),commission percent(佣金百分率)
4. 建立一个class “ Roll”  连接以上class , 然后能输出详细信息

解决方案 »

  1.   

    class Employee{
      id,name...
      setXxxx(){}
      getXxxx(){}
      ...
    }
    class Worker extends Employee{
      Worker(xxxx){
        super(xxxx);
        hours=
        wages=
      }
      hours,wages;
      setXxxx()
      getXxxx()
    }
    class SalesMan extends Worker{
      Sales,commissionPercent;
      SalesMan(xxxx){
        super(xxxx);
        sales=
        commissionPercent=
      }
      setXxxxx getXxxxx
    }
    class Roll{
       Roll(Employee){
       xxx
       }
       ...
       toString(){
       ...
       }
    }
      

  2.   

    在每个类里都加个toString方法 子类可以super.toString()+xxx+xxxx
      

  3.   

    最后一个Roll 能详细点麽 
      

  4.   

    哈哈 发现我也不知道roll如何连接以上class 英文我看不懂 我简单写了个roll  但是感觉完全多此一举
    打印格式 你按自己喜欢的方式改吧public class EmployeeTest {
    public static void main(String[] args){
    Employee e=new Employee("123","Sun","man","");
    Worker w1=new Worker(e,25,10.0);
    Worker w2=new Worker(w1);
    w2.setId("abc");w2.setName("moon");w2.setWages(20.0);
    SalesMan s1=new SalesMan(e);
    SalesMan s2=new SalesMan(w2);
    s2.setCommissionPercent(0.1);
    Roll roll1=new Roll(e);
    Roll roll2=new Roll(w1);
    Roll roll3=new Roll(w2);
    Roll roll4=new Roll(s1);
    Roll roll5=new Roll(s2);
    roll1.print();
    roll2.print();
    roll3.print();
    roll4.print();
    roll5.print();
    }
    }
    class Employee{
    private String id,name,gender,job;
    public Employee(){
    id="";name="";gender="";job="";
    }
    public Employee(String id,String name,String gender,String job){
    this.id=id; this.name=name; 
    this.gender=gender; this.job=job;
    }
    public Employee(Employee e){
    this.id=e.id;this.name=e.name;
    this.gender=e.gender;this.job=e.job;
    }
    public void setId(String id){
    this.id=id;
    }
    public String getId(){
    return id;
    }
    public void setName(String name){
    this.name=name;
    }
    public String getName(){
    return name;
    }
    public void setGender(String gender){
    this.gender=gender;
    }
    public String getGender(){
    return gender;
    }
    public void setJob(String job){
    this.job=job;
    }
    public String getJob(){
    return job;
    }
    public String toString(){
    return "[ID:"+id+"; Name:"+name+"; Gender:"+gender+"; job:"+job+"]";
    }
    } class Worker extends Employee{ 
    private int hours;
    private double wages;
    public Worker(){
    super();
    hours=0;
    wages=0.0;
    }
    public Worker(Employee e){
    super(e);
    hours=0;
    wages=0.0;
    }
    public Worker(Employee e,int hours,double wages){
    super(e);
    this.hours=hours;
    this.wages=wages;
    }
    public Worker(Worker worker){
    super(worker);
    hours=worker.hours;
    wages=worker.wages;
    }
    public void setHours(int hours){
    this.hours=hours;
    }
    public int getHours(){
    return hours;
    }
    public void setWages(double wages){
    this.wages=wages;
    }
    public double getWages(){
    return wages;
    }
    public String toString(){
    return super.toString()+"\n[hours:"+hours+"; wages:"+wages+"]";
    }
    } class SalesMan extends Worker{ 
    private double sales;
    private double commissionPercent; 
    public SalesMan(){
        super(); 
        sales=0.0; 
        commissionPercent=0.0; 
     } 
    public SalesMan(Employee e){
    super(e);
    sales=0.0; 
    commissionPercent=0.0; 
    }
    public SalesMan(Worker w){
    super(w);
    sales=0.0; 
    commissionPercent=0.0; 
    }
    public SalesMan(Employee e,double sales,double commissionPercent){
    super(e);
    this.sales=sales;
    this.commissionPercent=commissionPercent;
    }
    public SalesMan(SalesMan salesMan){
    super(salesMan);
    sales=salesMan.sales;
    commissionPercent=salesMan.commissionPercent;
    }
    public void setSales(double sales){
    this.sales=sales;
    }
    public void setCommissionPercent(double commissionPercent){
    this.commissionPercent=commissionPercent;
    }
    public double getSales(){
    return sales; 
    }
    public double getCommissionPercent(){
    return commissionPercent;
    }
    public String toString(){
     return super.toString()+"\n[Sales:"+sales+"; Commission Percent:"+commissionPercent+"]";
    }

    class Roll{
    private Employee employee;
    Roll(Employee e){ 
    employee=e; 

    public void print(){
    System.out.println(employee);
    }
    }