抽象类

/*
 * 抽象类Person
 */
public abstract class Person {
       private String name;
       public Person(String name){
        this.name=name;
 }
       public String getName(){
        return name;
 }
 
 //抽象方法 getDescription
 
       public abstract String getDescription();
}

/*
 * 实现类Strdent
 */

class Student extends Person{
       public Student(String name) {
        super(name);
  // TODO 自动生成构造函数存根
 }
 private String major;
       public Student(String name,String major){
        super(name);
        this.major=major;
 }
 //实现父类的抽象方法 getDescription
  public String getDescription(){
         return "a strudent major in"+major;
  }
}

/*
 * 实现类Employee
 */
 
class Employee extends Person{
       private double salary;
       public Employee(String name,double Salary){
        super(name);
        this.salary=salary;
 }
 public String getDescription(){
        return "an employee with a salary of$"+salary;
 }
}

/*
 * PersonFactory类
*/
public class PersonFactory{
       public static void main(String []args){
              Person[] persons =new Person[2];
              Persons[0]=new employee("mike",900);
              persons[1]=new Student("lakelau","computer science");
  
 }
 for(int index =0;index<persons.length;++index){
        Person p=persons[index];
              System.out.println(p.getName()+","+p.getDescription());
 }
}

posted @ 2009-04-14 18:44  kanjc  阅读(202)  评论(0编辑  收藏  举报