Java多态的使用


   多态指的是同一个方法调用,由于对象不同可能会有不同的行为。

   多态的要点:

      1. 多态是方法的多态,不是属性的多态(多态与属性无关)。

      2. 多态的存在要有3个必要条件:继承,方法重写,父类引用指向子类对象。

      3. 父类引用指向子类对象后,用该父类引用调用子类重写的方法,此时多态就出现了。

  对象类型的转换:

  向上可以自动转换类型,由子类转换成父类!

  向下(由父类转换成子类)强制类型转换!以调用该对象特有的方法!

 

  下面这个例子简单示例说明了多态的使用和对象类型的转换。

demo:

/** * 测试多态 * @author 房廷飞 * */
public class TextPolym { public static void main(String[] args) { Animal a=new Animal(); animalCry(a); Dog b=new Dog(); animalCry(b); Animal b1=new Dog();    //向上可以自动转换类型,由子类转换成父类!
 animalCry(b1); Dog b2=(Dog)b1;    //向下(由父类转换成子类)强制类型转换!以调用该对象特有的方法!
        b2.seeDoor();    //调用该对象特有的方法
        Animal c=new Cat(); animalCry(c); } static void animalCry(Animal a1) { a1.shout(); } } class Animal{ public void shout() { System.out.println("叫了一声!"); } } class Dog extends Animal{ public void shout() { System.out.println("汪汪汪"); } public void seeDoor() { System.out.println("看门中!");    //该对象特有的方法!
 } } class Cat extends Animal{ public void shout() { System.out.println("喵喵喵"); } }

 

2019-03-13    22:52:36    房廷飞        期望明天更好的自己!

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM