在同一个方法中因为参数的不同而导致执行效果不同的现象就是多态
在Java中允许使用一个父类类型的变量来引用一个子类类型的对象,根据被引用子类对象特征的不同,得到不同的运行结果。下面是程序案例:
interface Animal{
void shout();
}
class Dog implements Animal{
public void shout(){
System.out.println("汪汪,,,,,");
}
}
class Cat implements Animal{
public void shout(){
System.out.println("喵喵,,,,");
}
}
public class Main {
public static void main(String[] args) {
Animal dog=new Dog();
Animal cat=new Cat();
animalShout(dog);
animalShout(cat);
}
public static void animalShout(Animal an){
an.shout();
}
}
在上例中创建子类Dog、Cat对象时使用的父类类型Animal引用这就使得animalShout方法在在调用Animal对象时会出现因子类对象不同而导致的运行结果不同