欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php中final和static的区别是什么

程序员文章站 2022-03-22 09:01:50
...

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 final static