PHP中关键字final和static

来源:互联网 发布:酷狗上传的歌网络异常 编辑:程序博客网 时间:2024/06/05 02:30

首先php中关键字是不区分大小写的,变量是区分大小写的。

final:不能用来修饰属性,php中不支持。

    修饰类,子类不能再继承这个类。

修饰方法,子类不能再重写这个方法。

    final class myclass{
    }
     
    class myclass2 extends myclass{
    }
该程序运行后输出的结果为:
Fatal error:Class MyClass2 may not inherit from final class(myclass)  //输出错误
<?php
class myclass{
    final function fun(){
    }
}
class myclass2 extends myclass{
    function fun(){
    }
}
该程序运行后输出的结果为:
Fatal error:Cannot override final method myclass::fun  //系统报错

static:可以用来修饰成员属性和成员方法,表示静态的。
静态的属性和方法可以直接被类调用,当然也可以被对象调用,它们是属于类的,不是某一个对象。
而普通的静态属性和方法是new每一个对象时,都有一份属于自己的属性和方法,互不干扰。
语法:类名::属性名;
     类名::方法名;
而在在类的成员方法中,如果想调用自己类中的静态属性或方法,则用self关键字:
语法:
self::静态成员属性名;   //在类的成员方法中使用这种方式访问本类中的静态成员属性
self::静态成员访问名();   //在类的成员方法中使用这种方式访问本类中的静态成员方法
::相当于调用。


原创粉丝点击