php中final和static的区别:1、static是静态变量,静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失;2、final是用于函数的,属于面向对象的用法,一旦使用,这个函数就无法更改和重载。
本文操作环境: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中文网其他相关文章!