Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/book/08-Reuse.md
Original file line number Diff line number Diff line change
Expand Up @@ -869,7 +869,7 @@ public class Wind extends Instrument {

该术语是基于传统的类继承图:图最上面是根,然后向下铺展。(当然你可以以任意方式画你认为有帮助的类图。)于是,**Wind.java** 的类图是:

![Wind 类图](../images/1561774164644.png)
![Wind 类图](../images/1562204648023.png)

继承图中派生类转型为基类是向上的,所以通常称作*向上转型*。因为是从一个更具体的类转化为一个更一般的类,所以向上转型永远是安全的。也就是说,派生类是基类的一个超集。它可能比基类包含更多的方法,但它必须至少具有与基类一样的方法。在向上转型期间,类接口只可能失去方法,不会增加方法。这就是为什么编译器在没有任何明确转型或其他特殊标记的情况下,仍然允许向上转型的原因。

Expand Down
2 changes: 1 addition & 1 deletion docs/book/09-Polymorphism.md
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ Java 中除了 **static** 和 **final** 方法(**private** 方法也是隐式

形状的例子中,有一个基类称为 **Shape** ,多个不同的派生类型分别是:**Circle**,**Square**,**Triangle** 等等。这个例子之所以好用,是因为我们可以直接说“圆(Circle)是一种形状(Shape)”,这很容易理解。继承图展示了它们之间的关系:

![形状继承图](../images/1562204648023.png)
![形状继承图](../images/1561774164644.png)

向上转型就像下面这么简单:

Expand Down