网上有很多说明解释,在我这里用一个简单的例子说明什么是多态。
书上写:“在JAVA语言中,通过方法重写可以在具有继承关系的多个类中定义名称相同但操作不同的多个方法。
多态,正是程序运行时判断执行其中哪个方法的能力。”
也许你还不明白,没事,下面是例子。
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package polymorphism;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author Soledad
*/
public class Polymorphism {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
List<Family> members = new ArrayList<Family>();
members.add(new Father());
members.add(new Mother());
members.add(new Child());
for(Family member:members){
member.sports();
}
// TODO code application logic here
}
}
class Family{
void sports(){
// System.out.println("Family start doing sports!!!");
}
}
class Father extends Family{
void sports(){
System.out.println("Father start playing baminton!!!");
}
}
class Mother extends Family{
void sports(){
System.out.println("Mother start doing gymnastics!!!");
}
}
class Child extends Family{
void sports(){
System.out.println("Child start doing rope skipping!!!");
}
}
从代码中可以看出继承关系,均继承了Family类,并分别重写了sports()方法。
对每个member成员,调用sports方法。得出相应的结果:
简单的例子,很容易理解多态的概念。多练习,理解的会更深入。