首先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::静态成员访问名();
//在类的成员方法中使用这种方式访问本类中的静态成员方法