PHP中类静态调用和范围解析操作符的区别解析
具体代码如下所示:
<?php //在子类或类内部用“::”调用本类或父类时,不是静态调用方法,而是范围解析操作符。 class ParentClass { public static $my_static = 'parent var '; function test() { self::who(); // 输出 'parent' 是范围解析,不是静态调用 $this->who(); // 输出 'child' static::who(); // 延迟静态绑定 是范围解析,不是静态调用 } function who() { echo 'parent<br>'; } } class ChildClass extends ParentClass { public static $my_static = 'child var '; function who() { echo 'child<br>'; } } $obj = new ChildClass(); $obj->test(); echo ChildClass::$my_static;//静态调用
上面输出
parent
child
child
child var
总结
相关推荐
Crazyshark 2020-09-05
hzq0 2020-10-05
willowwgx 2020-07-27
linjava 2020-06-14
tuxlcsdn 2020-06-13
池塘 2020-06-07
liqinglin0 2020-06-01
liqinglin0 2020-06-01
jvm 2020-05-30
deadgrape 2020-05-16
luohui 2020-05-15
一个逗逗 2020-04-16
Ericbig 2020-03-03
hellobabygogo 2020-02-21
morexyoung 2020-02-21
lmseohy 2020-02-21
doubinning 2020-02-18