PHP 静态方法

创建于 2024-12-03 / 30
字体: [默认] [大] [更大]

PHP - 静态方法

可以直接调用静态方法 - 无需先创建类的实例。

使用 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()。 然后,我们使用类名、双冒号 (::) 和方法名调用静态方法(无需先创建类的实例)。



PHP - 更多静态方法

一个类可以同时具有静态和非静态方法。 可以使用 self 关键字和双冒号 (::) 从同一类中的方法访问静态方法:

实例

<?php
class greeting {
  public static function welcome() {
    echo "Hello World!";
  }

  public function __construct() {
    self::welcome();
  }
}

new greeting();
?> 亲自试一试 »

静态方法也可以从其他类的方法中调用。 为此,静态方法应该是 public:

实例

<?php
class greeting {
  public static function welcome() {
    echo "Hello World!";
  }
}

class SomeOtherClass {
  public function message() {
    greeting::welcome();
  }
}
?> 亲自试一试 »

要从子类调用静态方法,请在子类中使用 parent 关键字。 这里,静态方法可以是publicprotected

实例

<?php
class domain {
  protected static function getWebsiteName() {
    return "W3Schools.com";
  }
}

class domainW3 extends domain {
  public $websiteName;
  public function __construct() {
    $this->websiteName = parent::getWebsiteName();
  }
}

$domainW3 = new domainW3;
echo $domainW3 -> websiteName;
?> 亲自试一试 »

0 人点赞过