【发布时间】:2013-03-13 17:10:40
【问题描述】:
class Duck {
public function quack() {
$this->swim();
}
public function swim() {
echo 'I\'m swimming!';
}
}
class Plane {
public function fly() {
Duck::quack();
}
public function swim()
{
echo 'I can\'t swim! People are DROWNING!';
}
}
$plane = new Plane();
$plane->fly();
我被问到上面的问题,并给出了输出是一个错误非法调用静态方法的答案。
但它实际上打印的是“我在游泳!”。
有人能解释一下为什么会这样吗?
【问题讨论】:
-
PHP5.3.10 ubuntu 说我不会游泳!人们正在淹死! 哈哈