<?php 
//延迟绑定/后期绑定
class Human {
	public static function whoami(){
		echo "来自父类的whoami在执行<br/>";
	}
	public static function say(){
		self::whoami(); //子类没有say方法,在这里self被解析为Human
	}
	public static function say2(){
		static::whoami(); //子类没有say2方法,在这里static被解析为Stu
	}
}

class Stu extends Human{
	public static function whoami(){
		echo "来自子类的whoami在执行";
	}
}

Stu::say();
Stu::say2();

案例

<?php 
class Animal {
	const age = 1;
	public static $leg = 4;

	public static function cry(){
		echo "呜呜<br>";
	}
	public static function t1(){
		self::cry();
		echo self::age,'<br/>';
		echo self::$leg,'<br/>';
	}

	public static function t2(){
		static::cry();
		echo static::age,'<br/>';
		echo static::$leg,'<br/>';
	}
}

class Human extends Animal{
	//const age = 30;
	public static $leg = 2;

	public static function cry(){
		echo "哇哇<br/>";
	}
}

class Stu extends Human{
	const age = 15;
	//public static $leg = 3;

	public static function cry(){
		echo "嘤嘤<br/>";
	}
}

Stu::t1();
Stu::t2();