class A
{
public static function echoClass()
{
echo __CLASS__;
}
public function what(){ echo __CLASS__;}
public static function test()
{
<pre name="code" class="php"> $this->what(); //输出B static::echoClass(); //输出B self::echoClass(); //输出A } } class B extends A { public static function echoClass() { echo __CLASS__; } } B::test();
self是指当前类的对象,static是指调用的类的对象,$this也是指当前调用的类的对象,只是$this不能调用静态属性,self可以,而__class__是用于指定类的名称,一般用于注册类的方法使使用。
class B extends A
{
public static function echoClass($name=1)
{
spl_autoload_register(array(__CLASS__,"echoClass"));
echo __CLASS__;
}
}











