关于java中多态性的
理解,初学者很多人可能会有这种感觉,不管是老师讲的或者还是在网上找的,大都是说那个什么父类animal然后子类阿猫阿狗,最后就说这就是面向对象的多态性,这个根本就没跟多态性的这几个字连一起解释,这样让初学者理解起来很空洞,至少我是这样的,所以开始我老没记住具体什么是多态性?多态性有什么作用?什么时候需要用到多态性?接下来我就用自己的理解说一下吧!
当然多态的提前是有①用父类引用子类对象
②子类重写父类方法。
1.什么是多态性?
多态性,之所以叫多态,就是一种事物可以有多种表现的形态,在java中就是一个类(一种事物)的一个方法表现出多种输出结果(多种形态)
就拿你们经常听得阿猫阿狗继承Animal的
例子来所吧(具体代码就不写了),
Animal animal1= new Cat();
Animal animal2= new Dog();
同时调用Cat和Dog中重写Animal中的eat()方法
animal1.eat();
animal2.eat();
输出结果为:猫吃鱼
狗是骨头
从这里我们就可以看出同一个事物Animal类的一个方法表现出多种结果,这就是多态
2.什么时候用到多态?
当多个有共同父类的子类调用同一需要传入子类对象的方法时,我们可以用子类共有的父类作为传入对象,用多态的思想父类引用子类对象可以少些好多代码