0
点赞
收藏
分享

微信扫一扫

Java重写与重载区分

心存浪漫 2022-02-13 阅读 52

Java重写与重载区分

文章目录

一、什么是重写和重载

  • 重写:子类继承父类方法,不改变原有的参数类型、参数数量及参数排列顺序和方法响应类型,覆盖父类的方法

  • 重载:同一个类中,方法名相同,根据参数类型、参数数量及参数排序位置的不同,做出不同的处理

  • 区别

    区分点重写重载
    发生阶段运行期编译期
    发生范围子类同一个类
    参数列表跟原有的一样可修改原来的参数类型、个数及排列顺序
    返回类型继承或等于父类(引用类型)
    必须相等(基本类型和void)
    无限制
    异常范围继承或等于父类无限制
    访问修饰符范围大于或等于父类无限制

二、要点说明

  • 被private / static / final 修饰的方法,子类不能重写该方法,理由如下:
    • private:子类覆盖父类的允许访问的方法,而private只能本类操作
    • static / final:重写的阶段是运行期,而被static / final 修饰的方法在编译期就已经绑定了
  • Java允许重载任何方法,而不只是构遗方法。因此,要完整地描述一个方法,需要指出方法名以及参数类型。这叫做方法的签名( signature)。返回类型不是方法签名的一部分。也就是说,不能有两个名字相同、参数类型也相同却返回不同类型值的方法
举报

相关推荐

0 条评论