定义员工类,具有姓名、年龄、性别属性,并且有构造方法和显示数据方法。定义管理层类,继承员工类,并且有自己的属性 职务和年薪。定义职员类,继承员工类,并拥有自己的属性所属部门和月薪。
class JavaDemo
{
public static void main(String[] args)
{
Management man = new Management("王五",38,"男","架构师",198000.3);
Worker woker = new Worker("李四",19,"男","程序员",4900);
System.out.println(man.getInfo());
System.out.println(woker.getInfo());
}
}
class Staff
{
private String name;
private int age;
private String sex;
public Staff(){}//无参构造
public Staff(String name,int age,String sex){
this.name = name;
this.age = age;
this.sex = sex;
}
public String getInfo(){
return "姓名:"+this.name+"\t年龄:"+this.age+"\t性别:"+this.sex;
}
}
class Management extends Staff //管理层
{
private String job;//职务
private double yearSalary;//年薪
//构造方法
public Management(){}
public Management(String name,int age,String sex,String job,double yearSalary){
super(name,age,sex);//调用父类构造方法
this.job = job;
this.yearSalary = yearSalary;
}
//返回结果
public String getInfo(){
return "【管理层】"+super.getInfo()+"\t职位:" + this.job + "\t年薪:" + this.yearSalary;//super.getInfo()调用父类的getInfo()方法
}
}
class Worker extends Staff //职员类
{
private String department;//部门
private double monthSalary;//月薪
//构造方法
public Worker(){}
public Worker(String name,int age,String sex,String department,double monthSalary){
super( name,age,sex);//调用父类构造方法
this.department = department;
this.monthSalary = monthSalary;
}
//返回结果
public String getInfo(){
return "【职员】"+super.getInfo() + "\t部门:"+this.department+"\t月薪"+this.monthSalary;//super.getInfo()调用父类的getInfo()方法
}
}