#### 1. final 關(guān)鍵字 ---- 先來記重點(diǎn):final 修飾的類不能被繼承,final 修飾的方法不能被重寫 PHP 從 5.x 版本開始新增了 final 關(guān)鍵字,它可以在類或類的方法前面使用,但是不能用來修飾類的屬性 final 的中文含義是:最終的、不可更改的,所以被 final 修飾的類稱為 ”最終類“,被 final 修飾的方法稱為 “最終方法” #### 2. final 使用示例 --- 錯(cuò)誤演示:當(dāng)繼承被 final 修飾的類時(shí),PHP 會(huì)直接拋出致命錯(cuò)誤 ``` final class A { } class B extends A { } # 致命錯(cuò)誤:類 B 不能繼承最終類 A Fatal error: Class B may not inherit from final class (A) in /Users/liang/code/php/1.php on line 9 ``` 錯(cuò)誤演示:當(dāng)重寫被 final 修飾的方法時(shí),PHP 會(huì)直接拋出致命錯(cuò)誤 ``` class A { final public function liang() { echo 'vue'; } } class B extends A { public function liang() { echo 'php'; } } # 致命錯(cuò)誤:無法重寫最終方法 A::liang() Fatal error: Cannot override final method A::liang() in /Users/liang/code/php/1.php on line 17 ```