java第二次作业
题目描述
设计一个包含5个类的Java程序,名为Person的父类有两个子类,学生类Student和员工类Employee。Employee类有两个子类,教师类Faculty和 职员类Staff。所有人都有编号ID、姓名、地址、电话号码和电子邮件地址。学生类Student有班级状态(大一、大二、大三或大四)。教师类Faculty有主讲课程、上课时间、专业信息。职员类Staff有职务、入职日期信息。覆盖每个类中的toString()方法,输出相应的类名、编号ID和姓名。
编写一个测试程序,随机创建8个Student、Faculty或Staff对象,放在一个数组或者Vector类对象中,依次调用他们的toString()方法显示信息。
这个题读完之后思路很明确,直接上代码
1.五种类
Person
package person;
public class Person {
private String name,address,phone,email;
public Person(){}
public Person(String name,String address,String phone,String email){
this.name=name;
this.address=address;
this.phone=phone;
this.email=email;
}
public String toString(){
return "name: "+name+" /// "+"address: "+address+" /// "+"phone: "+phone+" /// "+"e-mail: "+email+" /// ";
}
}
Student
package person;
public class Student extends Person {
private String grade;
public final static String grade1 = "1";
public final static String grade2 = "2";
public final static String grade3 = "3";
public final static String grade4 = "4";
public String getGrade(){
return grade;
}
public void setGrade(String grade){
this.grade=grade;
}
public Student(String name,String address,String phone,String email,String grade){
super(name, address, phone, email);
this.grade=grade;
}
public String toString(){
return super.toString()+"grade: "+getGrade();
}
}
Employee
package person;
public class Employee extends Person {
public Employee(String name,String address,String phone,String email){
super(name, address, phone, email);
}
public String toString(){
return super.toString();
}
}
Faculty
package person;
public class Faculty extends Employee{
private String subject;
private String time;
private String major;
public void setSubject(String subject){
this.subject=subject;
}
public String getSubject(){
return subject;
}
public void setTime(String time){
this.time=time;
}
public String getTime(){
return time;
}
public void setMajor(String major){
this.major=major;
}
public String getMajor(){
return major;
}
public Faculty(String name,String address,String phone,String email,String subject,String time,String major){
super(name,address,phone,email);
this.subject=subject;
this.time=time;
this.major=major;
}
public String toString(){
return super.toString()+"subject: "+getSubject()+" /// "+"time: "+getTime()+" /// "+"major: "+getMajor();
}
}
Staff
package person;
public class Staff extends Employee {
private String job;
public String date;
public void setJob(String job){
this.job=job;
}
public String getJob(){
return job;
}
public void setDate(String date){
this.date=date;
}
public String getDate(){
return date;
}
public Staff(String name,String address,String phone,String email,String job,String date){
super(name,address,phone,email);
this.job=job;
this.date=date;
}
public String toString()
{
return super.toString()+"job: "+getJob()+" /// "+"date: "+getDate();
}
}
2.主函数
package person;
import java.util.*;
public class MAIN {
public static void main(String args[]){
Student []a=new Student[4];
a[0]=new Student("zgp","jl","600-1234567","wsnbb.com",Student.grade3);
a[1]=new Student("hr","sc","5651245689","123456.com",Student.grade4);
a[2]=new Student("fbq","hlj","78456489","56166133.com",Student.grade1);
a[3]=new Student("ywt","sx","18654561232","5216561.com",Student.grade2);
System.out.println(a[0].toString());
System.out.println(a[1].toString());
System.out.println(a[2].toString());
System.out.println(a[3].toString());
Faculty []b=new Faculty[2];
b[0]=new Faculty("fs","hf","115645612315","8815646.com","c++","Monday","software");
b[1]=new Faculty("ts","hf","56156156156","2156445611.com","tallmath","yesterday","computer");
System.out.println(b[0].toString());
System.out.println(b[1].toString());
Staff []c=new Staff[1];
c[0]=new Staff("zzq","hf","156465123489","464564.com","fdy","2019/4/20");
System.out.println(c[0].toString());
}
}