From 70b6f990f1ddf411b1f099db0748e925ece76b4e Mon Sep 17 00:00:00 2001 From: heyahui <369425422@qq.com> Date: Wed, 8 Jan 2020 13:33:50 +0800 Subject: [PATCH] Update 09-Polymorphism.md --- docs/book/09-Polymorphism.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/book/09-Polymorphism.md b/docs/book/09-Polymorphism.md index ffd7369..dd2debf 100644 --- a/docs/book/09-Polymorphism.md +++ b/docs/book/09-Polymorphism.md @@ -503,7 +503,7 @@ public Derived extends PrivateOverride { private f() ``` -你可能期望输出是 **public f()**,然而 **private** 方法也是 **final** 的,对于派生类来说是隐蔽的。因此,这里 **Derived** 的 `f()` 是一个全新的方法;因为基类版本的 `f()` 屏蔽了 **Derived** ,因此它都不算是重写方法。 +你可能期望输出是 **public f()**,然而 **private** 方法可以当作是 **final** 的,对于派生类来说是隐蔽的。因此,这里 **Derived** 的 `f()` 是一个全新的方法;因为基类版本的 `f()` 屏蔽了 **Derived** ,因此它都不算是重写方法。 结论是只有非 **private** 方法才能被重写,但是得小心重写 **private** 方法的现象,编译器不报错,但不会按我们所预期的执行。为了清晰起见,派生类中的方法名采用与基类中 **private** 方法名不同的命名。