【1】self
<?php
class A{
public static function who(){
echo "A who()";
}
public static function test(){
self::who();
}
}
class B extends A{
public static function who(){
echo "B who()";
}
}
B::test();//A who() 毫无疑问,test()中的self指的是A类
?>
【2】static后期绑定
<?php
class A{
public static function who(){
echo "A who()";
}
public static function test(){
static::who();
//后期绑定的概念
//此处做了修改为static,根据上下文来判断,static到底指向的是A还是B,test()是由B来调用的,所以static指向的类B
}
}
class B extends A{
public static function who(){
echo "B who()";
}
}
B::test();//B who() test()中的self指的是B类
?>