关于多态性的通俗解释

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

      2.什么时候用到多态?
        当多个有共同父类的子类调用同一需要传入子类对象的方法时,我们可以用子类共有的父类作为传入对象,用多态的思想父类引用子类对象可以少些好多代码
    



猜你喜欢

转载自498935528.iteye.com/blog/2200102