/**
*Person,Student,Employee,Faculty,Staff类的设计
*要求:父类Person 其子类有Student Employee。
*Employee类有子类 Faculty和Staff。
*Person有姓名,地址,电话,电子邮件,Student有班级。将这些定义为常量
*Employee有办公室,工资和受聘日期
*/
public class Exercsie9_2{
public static void main(String[] args){
Student s = new Student("liuyu", "china", "1234", "liuyu@yahoo", "grade-3");
Employee e = new Employee("zhangsan","janpan","123","zhangsan@qq","java department","5000/month", 2011,4,17);
System.out.println(s.toString());
System.out.println(e.toString());
}
}
class Person{
private String name = "" , add = "", call = "", email = "";
Person(String name , String add, String call, String email){
this.name = name;
this.add = add;
this.call = call;
this.email = email;
}
public String getName(){
return name;
}
public String getAdd(){
return add;
}
public String getCall(){
return call;
}
public String getEmail(){
return email;
}
}
class Student extends Person{
private String grade = "";
Student(String name, String add, String call, String email, String grade){
super(name,add,call,email);
this.grade = grade;
}
//覆盖lang下的toString方法,注意有返回值
public String toString(){
String str = "";
str = getClass().getName() + " " + getName() + " ";
return str;
}
}
class Employee extends Person{
private String office = "" , salary = "", date = "";
MyData md;
Employee(String name , String add, String call, String email, String office, String salary ,
int year,int month,int day){
super(name,add,call,email);
md = new MyData(year, month ,day);
this.office = office;
this.salary = salary;
}
public String toString(){
String str = "";
str = getClass().getName() + " " + getName()+ " " + md.print()+" ";
return str;
}
}
class MyData{
private int year;
private int month;
private int day;
MyData(int year, int month, int day){
this.year = year;
this.month = month;
this.day = day;
}
public String print(){
String str = "";
str += " year:" + this.year + " month:" + this.month+ " day:" +this.day;
return str;
}
}