最近看到 php 中使用语法如 static::$var ,有点懵,于是百度后发现,static::$var 会强制使用当前调用对象所属类中的变量 $var 的值,还是看下下面的2个例子吧。
class a{
static protected $test="class a";
public function static_test(){
echo static::$test; //class b
echo self::$test; //class a
}
}
class b extends a{
static protected $test="class b";
}
$obj = new b();
$obj->static_test();class par{
const v='A';
public function f1()
{
echo static::v;//静态绑定static::
}
public function f2()
{
echo self::v;
}
}
class child extends par{
const v='B';
}
$b=new child();
$b->f1(); //result: 'B'
echo '<br>';
$b->f2(); //result: 'A'
本文通过两个实例详细解析了PHP中static关键字的用法,特别是static::$var的特性,展示了如何在继承类中引用父类及当前类的静态成员变量。
182

被折叠的 条评论
为什么被折叠?



