class Test
{
private $baz = 1;
public function foo() { ... }
public function bar()
{
printf("baz = %d\n", $this->baz);
}
public static function staticMethod() { echo "static method\n"; }
}
在 foo()方法中,让我们看看不同的选项:
$this->staticMethod();
所以它调用 staticMethod()作为一个实例方法,对吗?没有。这是因为该方法被声明为 public static,解释器将作为静态方法调用它,因此它将按预期工作。可以说,这样做使得从代码中看不出正在发生静态方法调用。