手册

目录

静态方法

收藏898

阅读7927

更新时间2025-08-06

PHP - 静态方法

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

静态方法使用 static 关键字声明:

语法

<?php
class ClassName {
  public static function staticMethod() {
    echo "Hello World!";
  }
}
?>

如需访问静态方法,请使用类名、双冒号 (::) 和方法名:

语法

ClassName::staticMethod();

让我们看一个例子:

实例

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

// 调用静态方法
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 A {
  public static function welcome() {
    echo "Hello World!";
  }
}

class B {
  public function message() {
    A::welcome();
  }
}

$obj = new B();
echo $obj -> message();
?>
运行实例 »

点击 "运行实例" 按钮查看在线实例

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

实例

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

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

$domainW3 = new domainW3;
echo $domainW3 -> websiteName;
?>
运行实例 »

点击 "运行实例" 按钮查看在线实例

科技资讯

更多

精选课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

62万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

39.5万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

71.3万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

61.9万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

23.1万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

34.1万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

125.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号