抽象类
/*
* 抽象类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());
}
}