例如: php
在父类中含有静态方法a,b,子类中含有静态方法a spa
父类的b方法调用自身的a方法,这时候当子类调用父类的b方法时, code
self::a()是调用父类自身的a方法呢,仍是调用子类本身的a方法 io
答案:self调用的是父类的a方法 function
父类中又增长一个静态方法c,用static::a(),这时候调用的是父类的仍是子类的a方法呢? class
答案:static调用的是子类的a方法 test
<?php class Test { public static function a() { echo '父类的a方法<br/>'; } public static function b() { self::a(); echo '父类的b方法<br/>'; } public static function c() { static::a();// 子类没有c方法,用static::a(),则调用子类的a()方法 } } class child_test extends Test { public static function a() { echo '子类的a方法<br/>'; } } child_test::b(); child_test::c(); ?>