self:意思是本类
parent意思是父类
static
这三个关键用于在类中访问一些静态属性静态方法
结合案例来理解 注意细节
getA();//输出A
/*************************
* parent 同self
* */
class AA{
public static $a = 'A';
}
class BB extends AA{
public static $a = 'B';
public function getA(){
echo parent::$a;
}
}
class CC extends BB{
public static $a = 'C';
}
echo CC::$a;//输出C
$v = new CC();
$v->getA();//输出A
/*****************************
* static 与self,parent不同 类似动态的
* */
class AAA{
static protected $test="class a ";
public function static_test(){
echo static::$test; // 输出 class b
echo self::$test; // 输出 class a
}
}
class BBB extends AAA{
static protected $test="class b ";//若没有重写父类的$test 上面static::$test结果为class a
}
$obj = new BBB();
$obj->static_test();
?>