Loading

多态

多态的概念:同一个实现接口,使用不同的实例二执行不同的操作。

几种实现方式:

  一、子类到父类的转换(向上转型)

    1.将一个父类的引用指向一个子类对象,成为向上转型(upcasting),自动进行类型转换。

    2.通过父类的引用变量调用的方法是子类覆盖或继承父类的方法,不是原本父类的方法。

    3.通过父类引用变量无法调用子类特有的方法。

    eg:使用父类作为方法形参实现多态

      

      

 

 

      使用父类作为方法返回值实现多态

      

      

 

 

 

  

    实现多态的三个条件:

      1.有继承的存在(继承是多态的基础,没有继承就没有多态)

      2.子类重写父类的方法(多态下调用子类重写父类之后的方法)

      3.父类引用变量指向子类对象(子类到父类的类型转换)

  二、父类到子类的转换(向下转换)

    概念:将一个指向子类对象的父类引用赋给一个子类的引用,成为向下转型,此时必须进行强制类型转换。

    使用情况:当需要调用子类特有的方法时使用。

    同时会使用 instanceof 运算符来判断对象的类型。

    instanceof 运算符:

      该运算符用来判断一个对象是否属于一个类或实现一个借口,返回布尔值。(使用instanceof时,对象的类型必须和instanceof的第二个参数所指定的类或接口在继承树上有上下级关系)。

      instanceof 通常和强制转换类型转换结合使用。

    

 

    

 

posted @ 2017-07-31 12:33  yanbubao  阅读(140)  评论(0编辑  收藏  举报