zoukankan      html  css  js  c++  java
  • 方法的重载和重写(Overload VS Override)

    1方法的重载
    原因:对于功能类似的方法来说,因为参数列表不一样,却需要记住更多的方法名,太麻烦啦
    重载的做法:多个方法的名称一样,但参数列表不一样。
    好处:只需记忆一个方法名称
    方法重载与下列的因素相关:
    1.参数个数不同
    2.参数类型不同
    3.参数的多类型顺序不同
    方法重载与下列因素无关:
    1.与参数的名称无关
    2.与方法的返回值类型无关
    2.方法的重写
     父子类的继承关系当中,创建子类对象,访问成员方法的规则:
    创建的对象是谁,就优先用谁,如果没有则向上找。

    注意事项:
    无论是成员方法还是成员变量,如果没有都是向上找父类,绝对不会向下找子类的。

    重写(Override
    概念:在继承关系当中,方法的名称一样,参数列表也一样。

    重写(Override):方法的名称一样,参数列表【也一样】。覆盖、覆写。
    重载(Overload):方法的名称一样,参数列表【不一样】。

    方法的覆盖重写特点:创建的是子类对象,则优先用子类方法。
    方法覆盖重写的注意事项:

    1. 必须保证父子类之间方法的名称相同,参数列表也相同。
    @Override:写在方法前面,用来检测是不是有效的正确覆盖重写。
    这个注解就算不写,只要满足要求,也是正确的方法覆盖重写。

    2. 子类方法的返回值必须【小于等于】父类方法的返回值范围。
    小扩展提示:java.lang.Object类是所有类的公共最高父类(祖宗类),java.lang.String就是Object的子类。

    3. 子类方法的权限必须【大于等于】父类方法的权限修饰符。
    小扩展提示:public > protected > (default) > private
    备注:(default)不是关键字default,而是什么都不写,留空。
     
     
  • 相关阅读:
    Android中layout_gravity和gravity的区别
    Android基础面试题
    小白学习设计模式之工厂模式
    装饰者模式视频示例
    小白学习设计模式之装饰者模式
    利用poi来向execl中写入对象
    java利用poi来读取execl表格返回对象
    java小白设计模式之观察者模式
    小白学习java设计模式之策略模式
    如何理解java是一个面向对象的语言?(转自Hollis的直面java)
  • 原文地址:https://www.cnblogs.com/wjy980402/p/13533271.html
Copyright © 2011-2022 走看看