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 中国大陆许可协议进行许可。

posted @   xiaoovo  阅读(157)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
🔑