浅谈JAVA中多态

来源:互联网 发布:mac如何进入屏保模式 编辑:程序博客网 时间:2024/06/05 09:47

概念

多态(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();
}
}

输出结果: