重写和重载的区别

1.重写Override

  • 子类继承父类,子类就继承了父类的方法,而不需要重新编写相同的方法,但是有时子类不想原封不动地继承父类的方法,而需要做一定的修改,这就需要采用方法的重写。所以在方法名,参数列表,返回类型(除过子类中方法的返回值是父类中方法返回值的子类时)都相同的情况下,对方法体进行修改或重写,这就是重写方法。
  • 若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。如果仍然需要使用父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。
  • 子类函数的访问修饰权限不能少于父类的。(public>protected>default>private)

2.重载Overload

  • 方法重载是让类以统一的方式处理不同类型的一种手段,java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。
  • 重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同,无法以返回类型作为重载函数的区分标准。

3.重写与重载的区别

  • 方法的重写与重载都是实现多态的方式,区别在于重载实现的是编译时的多态性,而重写实现的是运行时的多态性。
  • 重载发生在一个类中,同名的方法如果参数列表不同则为重载;重写发生在子类与父类之间,重写要求方法有相同的参数列表,有相同的返回类型,比父类被重写的方法更好访问,不能比父类被重写方法声明更多的异常。

引用
https://blog.csdn.net/wintershii/article/details/80558739

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、方法的重写(Override)(方法覆盖) (1)重写介绍: java SE5增加@Override注解,并不...
    Hughman阅读 5,198评论 0 3
  • 重写只存在于子类与父类中,重载存在于一个类中。 具体区别如下: 一、重写(override) override是重...
    codingcc阅读 7,124评论 0 0
  • 首先说一下什么是重载(Overload):(1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函...
    CharmingWong阅读 3,332评论 0 0
  • ** 重写(overriding)特点** 父类与子类之间的多态性,对父类的函数进行重新定义。如果在子类中定义某方...
    StrongZhao阅读 3,034评论 0 1
  • 我是盘古开天辟地之时遗落在云台山的一颗葫芦籽,几百年间,不断吐芽,长枝,长叶,扎根。直到和半山一样高,叶子遮蔽太阳...
    鲁童欣阅读 3,477评论 2 1