class A {
public static function who() {
echo __CLASS__;
}
public static function test() {
//self::who();最后打印结果会是A
static::who(); // 后期静态绑定从这里开始(最后打印结果会是B)
}
}
class B extends A {
public static function who() {
echo __CLASS__;
}
}
B::test();
class A {
public static function foo() {
static::who();
}
public static function who() {
echo __CLASS__."\n";
}
}
class B extends A {
public static function test() {
A::foo();//A
parent::foo();//C
self::foo();//C
}
public static function who() {
echo __CLASS__."\n";
}
}
class C extends B {
public static function who() {
echo __CLASS__."\n";
}
}
C::test();
PHP手册-静态绑定(继承关系中处理静态成员)
最新推荐文章于 2021-03-20 09:27:51 发布
本文深入探讨了PHP中类的静态绑定机制及其在继承关系中的应用,通过实例演示了静态方法如何在不同类层级间进行调用,并解释了`self`和`static`关键字的区别。
869

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



