Example #1
0
        self::af();
        static::af();
    }
}
class b extends a
{
    public static function af()
    {
        echo 'in b:af<br/>';
    }
}
class c extends b
{
    public static function af()
    {
        echo 'in c:af<br/>';
    }
}
c::ac();
/*
========都有af
in a:af 			
in c:af 
========去掉b中af
in a:af
in c:af       
========去掉c中af
in a:af
in b:af
可见,static的后期绑定是根据调用顺序有关。从最开始的后代类内找调用函数,再向祖先类内找,直至找到。	
*/