mirror of
https://github.com/LingCoder/OnJava8.git
synced 2026-08-19 12:33:29 +08:00
@@ -869,7 +869,7 @@ public class Wind extends Instrument {
|
||||
|
||||
该术语是基于传统的类继承图:图最上面是根,然后向下铺展。(当然你可以以任意方式画你认为有帮助的类图。)于是,**Wind.java** 的类图是:
|
||||
|
||||

|
||||

|
||||
|
||||
继承图中派生类转型为基类是向上的,所以通常称作*向上转型*。因为是从一个更具体的类转化为一个更一般的类,所以向上转型永远是安全的。也就是说,派生类是基类的一个超集。它可能比基类包含更多的方法,但它必须至少具有与基类一样的方法。在向上转型期间,类接口只可能失去方法,不会增加方法。这就是为什么编译器在没有任何明确转型或其他特殊标记的情况下,仍然允许向上转型的原因。
|
||||
|
||||
|
||||
@@ -184,7 +184,7 @@ Java 中除了 **static** 和 **final** 方法(**private** 方法也是隐式
|
||||
|
||||
形状的例子中,有一个基类称为 **Shape** ,多个不同的派生类型分别是:**Circle**,**Square**,**Triangle** 等等。这个例子之所以好用,是因为我们可以直接说“圆(Circle)是一种形状(Shape)”,这很容易理解。继承图展示了它们之间的关系:
|
||||
|
||||

|
||||

|
||||
|
||||
向上转型就像下面这么简单:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user