首页 文章资讯内容详情

PHP最终关键字final

2026-06-05 1 花语

介绍

在PHP类的实例方法的定义中使用final关键字可防止子类重写它。同样,如果在类本身的定义中使用final,则无法扩展此类。

语法

final class myclass {} class myclass{ final method mymethod(){} }

最终方法示例

在下面的示例中,尝试覆盖最终方法将导致错误

示例

<?php class parentclass{ final function test(){ echo "final method in parent class"; } } class childclass extends parentclass{ function test(){ echo "overriding final method in parent class"; } } $obj=new childclass(); $obj->test(); ?>

输出结果

输出显示以下错误消息

PHP Fatal error: Cannot override final method parentclass::test() in line 16

最后一堂课的例子

类似地,不能从此类继承最终类,如以下示例所示

示例

<?php final class parentclass{ final function test(){ echo "final method in parent class"; } } class childclass extends parentclass{ function test(){ echo "overriding final method in parent class"; } } $obj=new childclass(); $obj->test(); ?>

输出结果

输出显示以下错误消息

PHP Fatal error: Class childclass may not inherit from final class (parentclass) in line 16