靜態屬性與方法可以在不實例化類的情況下調用,直接使用類名::方法名
的方式進行調用。靜態屬性不允許對象使用->操作符調用。
class Car { private static $speed = 10; public static function getSpeed() { return self::$speed; } } echo Car::getSpeed(); //調用靜態方法
靜態方法也可以通過變量來進行動態調用
$func = 'getSpeed'; $className = 'Car'; echo $className::$func(); //動態調用靜態方法
靜態方法中,$this僞變量不允許使用。可以使用self,parent,static在內部調用靜態方法與屬性。
class Car { private static $speed = 10; public static function getSpeed() { return self::$speed; } public static function speedUp() { return self::$speed+=10; } } class BigCar extends Car { public static function start() { parent::speedUp(); } } BigCar::start(); echo BigCar::getSpeed(); 靜態屬性和靜態方法不能實例化來調取,必須使用 類名::方法名或者變量名