我们在上一课程讲到了public、private、protected这3个关键字,今天我们来讲解static关键字,明天再讲解final关键字。
如果不想通过创建对象来调用变量或方法,则可以将该变量或方法创建为静态变量或方法,也就是在变量或方法的前面加上static关键词。
使用静态变量或方法,不仅不需要实例化对象,还可以在对象销毁后,仍然保持被修改的静态数据,以备下次使用。
例如水果的库存量,每次被采购后,都会减少,下一次使用时希望该数值是上一次的值,下面通过实例来解决这个问题。
使用静态变量,参考代码:
<?PHP
class Fruit {
static $num=1000; //声明一个静态变量$num,初始值为1000
public function shownum(){ //定义一个方法
echo "苹果的库存还有".self::$num."公斤<br />"; //输出静态变量
self::$num--; //静态变量减1
}
}
$f1=new Fruit(); //类的实例化对象goods1
$f1->shownum(); //调用对象goods1的display()方法
$f2=new Fruit(); //类的实例化对象goods2
$f2->shownum(); //类调用对象goods2的display()方法
echo "苹果的库存还有".Fruit::$num."公斤"; //直接使用类名调用静态变量
?>
以上代码在php8中的运行结果为:
苹果的库存还有1000公斤
苹果的库存还有999公斤
苹果的库存还有998公斤
到此为止,PHP8的静态变量和方法就讲解完毕了。