PHP实战中知识总结 / 面向对象 - final关键字

final关键字用于修饰类和方法。

如果父类中的方法声明了final,则子类无法对其覆盖;如果父类声明了final,则不能被继承。

//父类:
final class BaseClass {
  public function test() {
    echo "use test\n";
  }
  final public function moreTesting() {
    echo "use moreTesting\n";
  }
}
//子类继承父类:
class ChildClass extends BaseClass {
  public function moreTesting() {
    echo "use moreTesting1111111\n";
  }
}
//运行结果报错
PHP Fatal error: Cannot override final method BaseClass::moreTesting()

PHP实战中知识总结