• 技术文章 >后端开发 >PHP问题

    php中final和static的区别是什么

    藏色散人藏色散人2021-09-16 09:32:22原创117

    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中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php final static
    上一篇:php get_browser 用法是什么 下一篇:php获取不到表单数据怎么办
    大前端线上培训班

    相关文章推荐

    • 使用final关键字时需要注意什么问题• Final的今生之旅• 面试官:请详细说明final关键字的作用,以及它与static的区别• php中self和static的区别是什么• PHP Class self与static有什么区别?都怎么用?

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网