可以直接调用静态方法 - 无需先创建类的实例。
静态方法是用static
关键字:
<?php
class
ClassName {
public static function
staticMethod() {
echo "Hello World!";
}
}
?>
要访问静态方法,请使用类名、双冒号 (::) 和方法名:
ClassName::
staticMethod();
让我们看一个例子:
<?php
class greeting {
public static function welcome() {
echo "Hello World!";
}
}
// Call static method
greeting::welcome();
?>
亲自试一试 »
在这里,我们声明一个静态方法:welcome()。然后,我们使用类名、双冒号 (::) 和方法名来调用静态方法(无需先创建类的实例)。
一个类可以同时具有静态和非静态方法。可以使用以下方法从同一类中的方法访问静态方法self
关键字和双冒号 (::):
<?php
class greeting {
public static function welcome() {
echo "Hello World!";
}
public function __construct() {
self::welcome();
}
}
new greeting();
?>
亲自试一试 »
静态方法也可以从其他类中的方法调用。为此,静态方法应该是public
:
<?php
class A {
public static function welcome() {
echo "Hello World!";
}
}
class B {
public function message() {
A::welcome();
}
}
$obj = new B();
echo $obj -> message();
?>
亲自试一试 »
要从子类调用静态方法,请使用parent
子类中的关键字。这里,静态方法可以是public
或者protected
。
<?php
class domain {
protected static function getWebsiteName() {
return "91xjr.com";
}
}
class domainW3 extends domain {
public $websiteName;
public function __construct() {
$this->websiteName = parent::getWebsiteName();
}
}
$domainW3 = new domainW3;
echo $domainW3 -> websiteName;
?>
亲自试一试 »
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!