0

它有什么意义吗?

public static function a(){

  static::_b();

}

private static function _b(){

}

这里的 static 在任何情况下都与 self 相同,因为您不能覆盖子类中的私有函数,对吗?

4

1 回答 1

2

正如 Germann Arlington 在评论中所说。子类可以拥有自己的 _b() 实现——即使具有不同的可见性。

<?php
class Foo {
    public static function a() { static::_b(); }
    private static function _b() { echo 'Foo'; }
}

class FooEx extends Foo {
    public static function _b() { echo 'FooEx'; }
}

FooEx::a();

印刷FooEx

于 2012-08-24T12:19:52.780 回答