PHP中的静态结合



以下代码是晚期静态绑定的php文档的示例#4。

<?php
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();
        parent::foo();
        self::foo();
    }
    public static function who() {
        echo __CLASS__."n";
    }
}
class C extends B {
    public static function who() {
        echo __CLASS__."n";
    }
}
C::test();

我的问题是为什么输出为" ACC"而不是" ABC"。期待您的帮助!

我认为您对"非转向呼叫"的知识较少。

最新更新