欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

用来理解抽象超类与子类之间的关系,抽象,import java.

来源: javaer 分享于  点击 285 次 点评:86

用来理解抽象超类与子类之间的关系,抽象,import java.


import java.text.*;import java.util.*;public class PersonTest {    public static void main(String[] args) {        Person[] people = new Person[2];        // fill the people array with Student and Employee objects        people[0] = new Employee("Harry Hacker", 50000, 1989, 10, 1);        people[1] = new Student("Maria Morris", "Computer science");        // print out names and descriptions of all Person objects        for(Person p : people)            System.out.println(p.getName()+", "+p.getDescription());    }}abstract class Person {    public Person(String n) {        name = n;    }    public abstract String getDescription();    public String getName() {        return name;    }    private String name;}class Employee extends Person {    public Employee(String n, double s, int year, int month, int day) {        super(n);        salary = s;        GregorianCalendar calendar = new GregorianCalendar(year, month-1, day);        hireDay = calendar.getTime();    }    public double getSalary() {        return salary;    }    public Date getHireDay() {        return hireDay;    }    public String getDescription() {        return String.format("an employee with a salary of $%.2f", salary);    }    public void raiseSalary(double byPercent) {        double raise = salary*byPercent/100;        salary += raise;    }    private double salary;    private Date hireDay;}class Student extends Person {    /**    * @param n the student's name    * @param m the student's major    */    public Student(String n, String m) {        // pass n to superclass constructor        super(n);        major = m;    }    public String getDescription() {        return "a student majoring in "+major;    }    private String major;}//该片段来自于http://byrx.net
相关栏目:

用户点评