6 静态变量(static)
l static关键字是在类中描述成员属性和方法是静态的。static成员能够限制外部的访问,因为static成员是属于类的,不属于任何对象实例,是在类第一次被加载的时候分配的空间,其他类无法访问,只能对类的实例共享,能对类的成员形成保护
l 静态成员是在类第一次加载的时候就创建的,所以在类的外部不需要对象而使用类名就可以访问的到静态的成员。
l 类里面的静态方法只能访问类的静态属性,不能访问类的非静态成员。在静态方法中可以通过使用 self::成员属性的方法进行访问。
l 静态属性不能通过一个类已实例化的对象来访问(但静态方法可以)。
静态变量基本就是在每个东西中都有这么一个变量
l 定义:访问修饰符static $变量名 或static访问修饰符 $变量名。
l 使用:
类的内部:self::$变量名,类名::$变量名。(::叫做范围解析符)
class Friends{ public $name; public static $total = 0; public function __construct($name){ $this->name = $name; } public function countFriends(){ self::$total++; } public function showCount(){ echo Friends::$total; } } $friend1 = new Friends("friend1"); $friend2 = new Friends("friend2"); $friend3 = new Friends("friend3"); $friend1->countFriends(); $friend2->countFriends(); $friend3->countFriends(); $friend1->showCount(); echo "<br>"; echo Friends::$total;//必须是public
l 注意:
self指的是类,this指的是某个具体的对象。
本文作者:xiaoovo
本文链接:https://www.cnblogs.com/xiaoovo/p/15968135.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步