JAVA里的多态性到底有些什么作用,必要性

来源:百度知道 编辑:UC知道 时间:2024/05/13 11:42:22
感觉好像就是可以创建一个对像,这个对象是用子类为模版创建的,但它可以是父类的类型,到底这样有什么用,为什么要这样来创建一个对象,就搞不清了,有高手能解释一下吗?
答案要详细.好理解

主要是用于当一个父类不能生成对象时,比如这个父类声明为abstract,众所周知,抽象类是不能生成实例的,但是又要用父类的实例来解决问题时,就可以创建一个父类的变量来引用子类的实例,即通过多态性来实现,把子类的实例泛化为父类.这时要注意,当通过父类的变量来调用这个实例的方法时,这些方法必须在父类中曾经定义过,不然会出错.当子类中重写了在父类中的方法时,调用这个方法时就会实现重写过的子类方法.

其实这个不难理解的,简单的说:

猫也是动物,狗也是动物,都是动物这个类。

而动物这个类里面有个方法 叫()

你新建的时候可以用同一个类来创建

动物 a = new 猫();
然后调用a.叫();的时候就是喵喵
动物 a = new 狗();
然后调用a.叫();的时候就是汪汪

就是一个类型可以有不一样的形态