/** *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; }}