目录

  • 1. 简介
  • 2. 分析
  • 重载:Override
  • 重写:Overload
  • 访问修饰符的大小


1. 简介

题主这两天笔试,经常遇到这个问题,一直以来也没有好好的整理过,今天来个一次性的整理

2. 分析

重载:Override

同一个类,参数列表不同,不能只通过返回值看待是否为重载

  • 发生在同一个类
  • 相同的方法名
  • 参数列表不同
  • 不看返回值,如果出现了只有返回值不同的“重载”,是错的。

正确示范

【Java】重写和重载的区别_父类

错误示范

【Java】重写和重载的区别_访问修饰符_02

重写:Overload

准确的来说,就是只有方法体进行改变,其他不变,且子方法的修饰符要小于父类的修饰符

  • 发生在子类与父类中
  • 相同的方法名
  • 相同的参数列表
  • 返回值相同 或者 子类方法的返回值是父类方法返回值类型的子类
  • 访问修饰符相同 或者 子类方法的修饰符范围 大于 父类
  • 抛出的异常相同 或者 子类方法抛出的异常 小于父类

【Java】重写和重载的区别_子类_03


错误示范:

【Java】重写和重载的区别_子类_04

访问修饰符的大小

public > protected > default > private