多态是Java面向对象的一个非常重要的机制,多态也被称为动态绑定,该机制是用于增强可扩展性而提出的。
多态的必要条件:
1.存在继承关系
2.对父类中的方法进行了重写
3.调用方法时,形参为父类引用
在实际运行时,父类引用指向子类对象,调用的是实际对象的方法。下面通过一个常见的例子说明
class Animal{
public void enjoy(){
}
}
class Cat extends Animal{
public void enjoy(){
System.out.println("Cat....");
}
}
class Dog extends Animal{
public void enjoy(){
System.out.println("Dog....");
}
}
public class Testpolymoph{
public static void main(String[] args){
Testpolymoph test = new Testpolymoph();
Cat cat = new Cat();
Dog dog = new Dog();
test.myEnjoy(cat);
test.myEnjoy(dog);
}
public void myEnjoy(Animal pet){
pet.enjoy();
}
}