静态变量(static)

网友投稿 276 2022-10-29


静态变量(static)

一、静态变量

/**

*/

function test(){

static $a=0;

echo $a;

$a++;

}

test();           //第一次运行,输出0

test();           //第二次运行,输出1

test();           //第三次运行,输出2

test();           //第四次运行,输出3

?>

二、static关键字的使用

类中的静态成员是不需要对象而是使用类名来直接访问的,格式如下所示:

类名::静态成员属性名;      //在类的外部和成员方法中都可以使用这种方式访问静态成员属                              性

类名::静态成员方法();      //在类的外部和成员方法中都可以使用这种方式访问静态成员方                              法

self::静态成员属性名;       //在类的成员方法中使用这种方式访问本类中的静态成员属性

self::静态成员方法名();      //在类的成员方法中使用这种方式访问本类中的静态成员方法

class MyClass{

function __construct(){     //每次创建一个对象就会自动调用一次这个构造方法

self::$count++;         //使用self访问静态成员count,使其自增1

}

return self::$count;       //在方法中使用self访问静态成员并返回

}

}

MyClass::$count=0;               //在类外面使用类名访问类中的静态成员,为其初始化赋值0

$myc1=new MyClass();             //通过myclass类创建第一个对象,在构造方法中将count累加1

$myc2=new MyClass();             //通过myclass类创建第二个对象,在构造方法中又将count累加1

$myc3=new MyClass();            //通过myclass类创建第三个对象,在构造方法中再次将count累加1

echo MyClass::getCount();       //在类外面使用类名访问类中的静态成员方法,获取静态属性的值3

echo "
";

echo $myc3->getCount();        //通过对象也可以访问类中的静态成员方法,获取静态属性的值3

?>

代码运行结果为3 3


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:在java中ArrayList集合底层的扩容原理
下一篇:位置更新简介
相关文章

 发表评论

暂时没有评论,来抢沙发吧~