zoukankan      html  css  js  c++  java
  • 面向对象之多态性

    多态性:
    指在基类中定义的属性和方法被子类继承后,可以具有不同的数据类型或表现出不同的行为,这使得同一个属性或方法在基类及其各子类中具有不同的语义。

    定义一个抽象模板,子类通过覆写方法来实现不同的行为


    使用方法的重载(overloading)和覆盖(Overriding) 实现类的多态性。
    方法重载
    在一个类中出现多个方法名相同,参数个数或参数类型不同的方法
    根据参数个数或类型来区分具体执行那个方法。
    方法覆盖(重写)
    指父类和子类之间的关系,子类方法与父类方法名相同,那么子类就不能继承父类的方法,此时成为子类方法覆盖了父类的方法。
    通过覆盖可以使一个方法在不同子类中表现出不同的行为。


    覆盖原则:
    1.子类不能覆盖父类中声明为final 或者static的方法
    2.子类必须覆盖父类中声明为abstract 的方法,或者子类也必须声明为abstract
    3.子类覆盖父类中的同名方法时,子类的方法声明也必须和父类中被覆盖的方法的声明相同。

  • 相关阅读:
    理性与感性
    JVM系列(之class文件)
    Java集合框架
    Java字符串连接的几种方式
    JVM系列(之ClassLoader)
    时之终结
    约束中的存在
    拿什么爱你?我的数学
    梦的表征、抽象的思维
    Spider with R
  • 原文地址:https://www.cnblogs.com/jiechn/p/4500906.html
Copyright © 2011-2022 走看看