diff --git a/README.md b/README.md index 4397da97..a4762dfa 100644 --- a/README.md +++ b/README.md @@ -446,6 +446,8 @@ Logo下的小图标是使用[Shields.IO](https://shields.io/) 生成的。 2. 很多知识点我可能没有涉及到,所以你可以对其他知识点进行补充。 3. 现有的知识点难免存在不完善或者错误,所以你可以对已有知识点进行修改/补充。 +> 如果要提 issue/question 的话,强烈推荐阅读 [《提问的智慧》](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way)、[《如何向开源社区提问题》](https://github.com/seajs/seajs/issues/545) 和 [《如何有效地报告 Bug》](http://www.chiark.greenend.org.uk/~sgtatham/bugs-cn.html)、[《如何向开源项目提交无法解答的问题》](https://zhuanlan.zhihu.com/p/25795393)。 + ### 联系我 ![个人微信](https://cdn.jsdelivr.net/gh/javaguide-tech/blog-images/2020-08/wechat3.jpeg) diff --git a/docs/java/Java基础知识.md b/docs/java/Java基础知识.md index 66fd537e..cb90a38c 100644 --- a/docs/java/Java基础知识.md +++ b/docs/java/Java基础知识.md @@ -35,7 +35,7 @@ - [1.4.2. 为什么 Java 中只有值传递?](#142-为什么-java-中只有值传递) - [1.4.3. 重载和重写的区别](#143-重载和重写的区别) - [1.4.3.1. 重载](#1431-重载) - - [1.4.3.2. 重写](#1432-重写) + - [1.4.3.2. 重写](#1432-重写) - [1.4.4. 深拷贝 vs 浅拷贝](#144-深拷贝-vs-浅拷贝) - [1.4.5. 方法的四种类型](#145-方法的四种类型) - [2. Java 面向对象](#2-java-面向对象) @@ -790,16 +790,24 @@ Java 程序设计语言对对象采用的不是引用调用,实际上,对象 **综上:重写就是子类对父类方法的重新改造,外部样子不能改变,内部逻辑可以改变** -**暖心的 Guide 哥最后再来个图标总结一下!** +**暖心的 Guide 哥最后再来个图表总结一下!** -| 区别点 | 重载方法 | 重写方法 | -| :--------- | :------- | :--------------------------------------------- | -| 发生范围 | 同一个类 | 子类 中 | -| 参数列表 | 必须修改 | 一定不能修改 | -| 返回类型 | 可修改 | 一定不能修改 | -| 异常 | 可修改 | 可以减少或删除,一定不能抛出新的或者更广的异常 | -| 访问修饰符 | 可修改 | 一定不能做更严格的限制(可以降低限制) | -| 发生阶段 | 编译期 | 运行期 | +| 区别点 | 重载方法 | 重写方法 | +| :--------- | :------- | :----------------------------------------------------------- | +| 发生范围 | 同一个类 | 子类 | +| 参数列表 | 必须修改 | 一定不能修改 | +| 返回类型 | 可修改 | 子类方法返回值类型应比父类方法返回值类型更小或相等 | +| 异常 | 可修改 | 子类方法声明抛出的异常类应比父类方法声明抛出的异常类更小或相等; | +| 访问修饰符 | 可修改 | 一定不能做更严格的限制(可以降低限制) | +| 发生阶段 | 编译期 | 运行期 | + + + +**方法的重写要遵循“两同两小一大”**(以下内容摘录自《疯狂 Java 讲义》,[issue#892](https://github.com/Snailclimb/JavaGuide/issues/892) ): + +- “两同”即方法名相同、形参列表相同; +- “两小”指的是子类方法返回值类型应比父类方法返回值类型更小或相等,子类方法声明抛出的异常类应比父类方法声明抛出的异常类更小或相等; +- “一大”指的是子类方法的访问权限应比父类方法的访问权限更大或相等。 #### 1.4.4. 深拷贝 vs 浅拷贝 diff --git a/media/sponsor/lagou.jpeg b/media/sponsor/lagou.jpeg index 748da0d6..a093fd40 100644 Binary files a/media/sponsor/lagou.jpeg and b/media/sponsor/lagou.jpeg differ