从根本上来说,多态是一个哲学的概念。它的本质就是多样化。多样化的目的是满足多样的需求。而多样的需求
多态的实现有3种方法:
1. 子类中对父类的方法实现覆盖
2. 子类中对父类的方法实现重载
3. 由多种子类实现对同一父类的引用, 即将子类的对象作为父类的对象实现多态
下面编程举例说明:
class person{ //父类person
int age;
String name;
void say(){ //父类方法 say()
System.out.println("I am a person.");
}
void run(int i){ //父类方法run
System.out.println("I can run "+i+" miles.");
}
}
class officer extends person{ //子类officer
void say(){ //子类方法say覆盖了父类方法say
System.out.println("I am an officer.");
}
void run(int i, int j){ //子类方法run,重载了父类方法run
System.out.println("I can run "+i+" miles"+" in "+j+" minutes.");
}
}
public class polymorphism{
public static void main(String[] args){
person p = new person(); //父类对象p
p.say(); //调用父类方法say
p.run(5); //调用父类方法run
officer o = new officer(); //子类对象o
o.say(); //调用子类对象say
o.run(5,10); //调用子类的重载方法run
o.run(5); //调用子类继承自父类的方法run
person p1 = new officer(); //用父类变量指向子类对象实现多态
p1.say(); //用指向子类对象的父类变量调用方法say
}
}