概念
多态(polymorphism)也被称作动态绑定、迟绑定。它是指通过父类引用调用子类方法。多态存在的三个必要条件:1、必须存在继承关系 2、子类必须复写父类方法 3、父类引用指向子类对象。
目的
对所有的对象都可以定义为相同类型(基类),使代码变得简单,增强了程序的扩展性。
示例
class Animal
{
private String name="Animal";
public void enjoy(){
System.out.print("动物在叫。。。"+"\n");
}
}
class Cat extends Animal
{
private String name="Cat";
public void enjoy(){
System.out.print("猫在叫。。。"+"\n");
}
}
class Dog extends Animal
{
private String name="Cat";
public void enjoy(){
System.out.print("狗在叫。。。"+"\n");
}
}
class Girl
{
private String name;
private Animal animal;
public Girl(String name,Animal animal){
this.name=name;
this.animal=animal;
}
public void enjoy(){
animal.enjoy();
}
}
class food
{
public static void main(String[] args){
Cat c=new Cat();
Dog d=new Dog();
Girl lucy=new Girl("lucy",c);
lucy.enjoy();
Girl lyli=new Girl("lyli",d);
lyli.enjoy();
}
}
输出结果: