在PHP中,关键字static
用于定义静态成员,包括静态属性和静态方法。
self::
或类名::
来访问静态属性。定义静态属性时,需要在属性名前面加上static
关键字。例如:class MyClass {
public static $count = 0;
public function __construct() {
self::$count++;
}
}
echo MyClass::$count; // 输出:0
$obj1 = new MyClass();
$obj2 = new MyClass();
echo MyClass::$count; // 输出:2
self::
或类名::
来调用静态方法。定义静态方法时,需要在方法名前面加上static
关键字。静态方法只能访问静态属性,不能访问非静态属性。例如:class MathUtils {
public static function add($num1, $num2) {
return $num1 + $num2;
}
}
echo MathUtils::add(2, 3); // 输出:5
注意:静态成员可以在不创建类的实例的情况下直接访问,但也可以通过类的实例来访问。如果通过类的实例访问静态成员,也会对所有实例共享该静态成员。