实现一个名为Person的类和它的两个子类Student和Employee
Employee有子类Faculty和Staff。Person中的人有姓名、地址和电话号码。
学生有班级状态(一、二、三、四年级)。将这些状态定义为常量。
Employee中的雇员有办公室、工资。Faculty中的教员有级别。
Staff中的职员有职务称号。覆盖每个类中的toString方法,显示类名和各类中的各个属性。
public class Person
{
String Name;
String Address;
static String Tel;
public Person()
{
}
public Person(String Name,String Address,String Tel)
{
this.Name = Name;
this.Address = Address;
Person.Tel = Tel;
}
public String toString()
{
return "姓名:"+Name+"类名:"+"Person";
}
}
public class Student extends Person
{
int class_Num;
public Student()
{
}
public Student(String Name,String Address,int class_Num)
{
super(Name,Address,Tel);
this.class_Num = class_Num;
}
public String toString()
{
return "姓名:"+Name+"类名"+"Student";
}
}
public class Employee extends Person {
String Office;
double Salary;
public Employee()
{
}
public Employee(String Name,String Tel,String Address,String Office,double Salary)
{
super(Name,Address,Tel);
this.Office = Office;
this.Salary = Salary;
}
public String toString()
{
return "姓名:"+Name+"类名"+"Employee";
}
}
public class Faculty extends Employee{
String Level;
public Faculty()
{
}
public Faculty(String Name,String Tel,String Address,String Office,double Salary,String Level)
{
super(Name,Tel,Address,Office,Salary);
this.Level = Level;
}
public String toString()
{
return "姓名:"+Name+"类名"+"Faculty";
}
}
public class Staff extends Employee
{
String Post;
public Staff()
{
}
public Staff(String Name,String Tel,String Address,String Office,double Salary,String Post)
{
super(Name,Tel,Address,Office,Salary);
this.Post = Post;
}
public String toString()
{
return "姓名:"+Name+"类名"+"Staff";
}
}
测试类:
public class Staff extends Employee
{
String Post;
public Staff()
{
}
public Staff(String Name,String Tel,String Address,String Office,double Salary,String Post)
{
super(Name,Tel,Address,Office,Salary);
this.Post = Post;
}
public String toString()
{
return "姓名:"+Name+"类名"+"Staff";
}
}
运行结果:
姓名:张天宇类名:Person
姓名:楼听雨类名:Person
姓名:刘高类名Employee
姓名:丽丽类名Faculty
姓名:胡歌类名Staff