- 比较
比较 | 方法重写 | 方法重载 |
---|---|---|
发生在 | 父、子类中 | 同一个类中 |
方法名 | 必须相同 | 必须相同 |
参数 | 必须相同(个数、类型、顺序都必须相同) | 个数或者类型必须不同 |
访问修饰符 | 必须是public | 不限制 |
访问修饰符类型 | 子类的访问修饰符不能比父类更加严格 | 可以改变访问修饰符 |
异常处理 | 子类的异常不能比父类更大、也不能比父类更多 | 被重载的方法可以声明新的或更多的检查异常 |
返回类型 | 必须相同 | 可以不同 |
-
总结
重载更加灵活,重写限制更多。 -
参照一个网友的总结
参数列表: 必须修改(重载) 一定不能修改(重写)
返回类型: 可以修改(重载) 一定不能修改(重写)
异常:可以修改(重载) 可以减少或删除,一定不能抛出更大、或者更多的异常(重写)
访问: 可以修改(重载) 一定不能做更严格的限制(可以降低限制)(重写)