首页  >  文章  >  后端开发  >  php中final和static的区别是什么

php中final和static的区别是什么

藏色散人
藏色散人原创
2021-09-16 09:32:221352浏览

php中final和static的区别:1、static是静态变量,静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失;2、final是用于函数的,属于面向对象的用法,一旦使用,这个函数就无法更改和重载。

php中final和static的区别是什么

本文操作环境:Windows7系统、PHP7.1版,Dell G3电脑

php中final和static的区别

static是静态变量,静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失。

例如,你可以用来计算函数调用的累加次数。

<?PHP
function Test()
{
static $w3sky = 0;
echo $w3sky;
$w3sky++;
}
?>

静态(static)关键字

本页说明了用 static 关键字来定义静态方法和属性。static 也可用于定义静态变量以及后期静态绑定。参见上述页面了解 static 在其中的用法。

声明类属性或方法为静态,就可以不实例化类而直接访问。静态属性不能通过一个类已实例化的对象来访问(但静态方法可以)。

静态方法

由于静态方法不需要通过对象即可调用,所以伪变量 $this 在静态方法中不可用。

用静态方式调用一个非静态方法会抛出 Error。

在 PHP 8.0.0 之前,通过静态方式调用一个非静态方法这种用法已经被废弃,并且会导致一个 E_DEPRECATED 级别的警告。

fainal 是用于函数的,属于面向对象的用法,一旦使用,这个函数就无法更改和重载了。

PHP 5 新增了一个 final 关键字。如果父类中的方法被声明为 final,则子类无法覆盖该方法。如果一个类被声明为 final,则不能被继承。

推荐学习:《PHP视频教程

以上是php中final和static的区别是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn