静态属性与方法可以在不实例化类的情况下调用,直接使用类名::方法名
的方式进行调用。静态属性不允许对象使用->操作符调用。静态方法中,$this伪变量不允许使用。可以使用self,parent,static在内部调用静态方法与属性。
class Car { public static $speed = 10; //定义静态属性 //这是一个公共方法 public 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(); //调用bigcar的静态方法加速
$car = new Car();
$car->getSpeed(); //调用公共方法获取当前速度
car::speedUp(); //调用静态方法获取加速度