8000 fix:修复拼写错误 · codezzg/OnJava8@b40a92e · GitHub
[go: up one dir, main page]

Skip to content
8000

Commit b40a92e

Browse files
authored
fix:修复拼写错误
close lingcoder#328
1 parent ddc4f01 commit b40a92e

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

docs/book/10-Interfaces.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1132,7 +1132,7 @@ public class Adventure {
11321132

11331133
**Hero** 结合了具体类 **ActionCharacter** 和接口 **CanFight****CanSwim****CanFly**。当通过这种方式结合具体类和接口时,需要将具体类放在前面,后面跟着接口(否则编译器会报错)。
11341134

1135-
接口 **CanFight** 和类 **ActionCharacter** 中的 `flight()` 方法签名相同,而在类 Hero 中也没有提供 `fight()` 的定义。可以扩展一个接口,但是得到的是另一个接口。当想创建一个对象时,所有的定义必须首先都存在。类 **Hero** 中没有显式地提供 `fight()` 的定义,是由于该方法在类 **ActionCharacter** 中已经定义过,这样才使得创建 **Hero** 对象成为可能。
1135+
接口 **CanFight** 和类 **ActionCharacter** 中的 `fight()` 方法签名相同,而在类 Hero 中也没有提供 `fight()` 的定义。可以扩展一个接口,但是得到的是另一个接口。当想创建一个对象时,所有的定义必须首先都存在。类 **Hero** 中没有显式地提供 `fight()` 的定义,是由于该方法在类 **ActionCharacter** 中已经定义过,这样才使得创建 **Hero** 对象成为可能。
11361136

11371137
在类 **Adventure** 中可以看到四个方法,它们把不同的接口和具体类作为参数。当创建一个 **Hero** 对象时,它可以被传入这些方法中的任意一个,意味着它可以依次向上转型为每个接口。Java 中这种接口的设计方式,使得程序员不需要付出特别的努力。
11381138

@@ -1217,7 +1217,7 @@ public class HorrorShow {
12171217

12181218
### 结合接口时的命名冲突
12191219

1220-
当实现多个接口时可能会存在一个小陷阱。在前面的例子中,**CanFlight****ActionCharacter** 具有完全相同的 `flight()` 方法。完全相同的方法没有问题,但是如果它们的签名或返回类型不同会怎么样呢?这里有一个例子:
1220+
当实现多个接口时可能会存在一个小陷阱。在前面的例子中,**CanFight****ActionCharacter** 具有完全相同的 `fight()` 方法。完全相同的方法没有问题,但是如果它们的签名或返回类型不同会怎么样呢?这里有一个例子:
12211221

12221222
```java
12231223
// interfaces/InterfaceCollision.java

0 commit comments

Comments
 (0)
0