<?php //后期静态绑定 //使用在静态继承的上下文环境中 //动态匹配静态成员的刁雍者,而不是声明者 //静态方法与调用者的绑定在运行阶段才可以确定 class Father { public static $money=5000; public static function getClass(){ //返回当前类名 return _CLASS_; } public static function getMoney(){ //return self::getClass() .'=>' .self::$money; //使用在静态继承的上下文环境中,动态设置静态成员的调用者 (Son),允许子类的成员覆盖父类的相同成员 return static::getClass() .'=>' .static::$money; } } class Son extends Father { //覆写父类的静态属性 public static $money=3000; public static function getClass(){ //返回当前类名 return _CLASS_; } } echo Father::getClass(),'<br/>'; echo Father::getMoney(),'<br/>'; //调用子类 echo Son::$money,'<br/>'; echo Son::getClass(),'<br/>'; echo '<hr/>'; //值还是父类的值,而不是自己重写的值 //目的:展示自己覆写的值,这时需要把getMoney()里面的self改成static,动态设置静态成员的调用者 echo Son::getMoney(),'<br/>'; ?>