作用
- 访问静态成员
- 访问类常量
- 覆盖类中的属性和方法
使用
在类外面使用
直接使用类名,类名可以通过变量来引用
<?php
class MyClass {
const CONST_VALUE = 'A constant value';
}
$classname = 'MyClass';
echo $classname::CONST_VALUE;
echo MyClass::CONST_VALUE;
?>
在类内部使用
使用self
,parent
和 static
这三个关键字
<?php
class OtherClass extends MyClass
{
public static $my_static = 'static var';
public static function doubleColon() {
echo parent::CONST_VALUE . "\n";
echo self::$my_static . "\n";
}
}
当一个子类覆盖其父类中的方法时,PHP 不会调用父类中已被覆盖的方法。是否调用父类的方法取决于子类 可以调用 parent::
访问父类的方法