PHP类和对象之Static静态关键字

Posted jcp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP类和对象之Static静态关键字相关的知识,希望对你有一定的参考价值。

静态属性与方法可以在不实例化类的情况下调用,直接使用类名::方法名的方式进行调用。静态属性不允许对象使用->操作符调用。

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();

以上是关于PHP类和对象之Static静态关键字的主要内容,如果未能解决你的问题,请参考以下文章

PHP面向对象编程之延迟静态绑定(static关键字)

PHP 中 static 静态关键字的使用

php静态变量理解----(变量前面添加static关键字)

Java系列类和对象中需要注意的事情

Java 核心基础之static静态代码块和静态方法

php静态属性