<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="深入理解static变量与方法-PHP面向对象教程" id="card1">
<p> 游客</p><p>
标题:深入理解static变量与方法-PHP面向对象教程<br/>
正文:<br/>
static关键字声明一个属性或方法是和类相关的，而不是和类的某个特定的实例相关，因此，这类属性或方法也称为“类属性”或“类方法”。如果访问控制权限允许，可不必创建该类对象而直接使用类名加两个冒号“::”调用。static关键字可以用来修饰变量、方法。不经过实例化，就可以直接访问类中static的属性和static的方法。static 的属性和方法，只能访问static的属性和方法，不能类访问非静态的属性和方法。因为静态属性和方法被创建时，可能还没有任何这个类的实例可以被调用。static的属性，在内存中只有一份，为所有的实例共用。使用self:: 关键字访问当前类的静态成员。<br/>静态属性公用特性一个类的所有实例，共用类中的静态属性。也就是说，在内存中即使有多个实例，静态的属性也只有一份。下面例子中的设置了一个计数器$count属性，设置private 和 static 修饰。这样，外界并不能直接访问$count属性。而程序运行的结果我们也看到多个实例在使用同一个静态的$count 属性。代码如下:<br/>&amp;lt;?<br/>class user{<br/>    private static $count = 0 ; //记录所有用户的登录情况.<br/>    public function __construct(){<br/>        self::$count = self::$count + 1;<br/>    }<br/>    public function getCount(){    <br/>        return self::$count;<br/>    }<br/>    public function __destruct(){<br/>        self::$count = self::$coun<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=856&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=856&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=856&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=856&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=856&amp;Page=10">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=856">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=856">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>