在實際操作中,多態可以讓我不用關心某個對象到底是什么具體類型,就可以使用該對象的某些方法,而這些方法通過一個抽象類或者接口來實現,多態就是提供父類調用子類代碼的一個手段而已
abstract class Person


{
private String name;
private int age;
Person(String name,int age)

{
this.name = name;
this.age = age;
}
abstract void say();
}

class Student extends Person


{
Student(String name,int age)

{
super(name,age);
}
public void say()

{
System.out.println("I'am a Student");
}
}

class Teacher extends Person


{
private String profession;
Teacher(String name,int age,String profession)

{
super(name,age);
this.profession = profession;
}
public void say()

{
System.out.println("I'am a Teacher");
}
}

class School


{
private String schoolname;
private Person person;
School(String schoolname,Person person)

{
this.schoolname = schoolname;
this.person = person;
}
public void foundPerson()

{
person.say();
}
}

public class TestPolymoph


{
public static void main(String[] args)

{
Student studnet = new Student("lisi",21);
Teacher teacher = new Teacher("dudu",29,"maths");
School school1 = new School("changning",studnet);
School school2 = new School("changning",teacher);
school1.foundPerson();//I'am a Student
school2.foundPerson();//I'am a Teacher
}
}
School方法傳遞了抽象類Person,具體調用時是根據具體的實際實例化的對象調用對應的方法
posted on 2007-12-03 11:26
凌晨風 閱讀(1672)
評論(2) 編輯 收藏 所屬分類:
Java學習筆記