PHP 类的静态成员变量跟普通成员变量对比

php中文网
发布: 2016-06-13 12:20:45
原创
1331人浏览过

PHP 类的静态成员变量和普通成员变量对比

有很多人可能弄不清楚,在php中类的静态成员变量和普通成员变量有什么区别?

1、类的静态方法只能访问静态成员变量,而不能访问非静态成员变量

2、静态成员变量不需要实例化就能访问,且访问速度快一些

3、类的静态成员变量只属于这个类,但类的所有实例共享这个静态成员变量


立即学习PHP免费学习笔记(深入)”;

一个由 c/c++编译过的程序占用的内存分为一下几个部分

(1)、栈区 stack :

              由编译器自动分配释放,存放函数的参数值,局部变量的值等。这个栈的操作方式类似于数据结构中的栈。栈区是在程序运行前就会分配好的,速度较堆要快

(2)、堆区 heap :

              一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收,注意它与数据结构中的堆是两回事,分配方式类似于链表。是在程序运行时动态分配的,速度较栈慢

(3)、全局区(静态去)static :

             全局变量和静态变量的存储是放在一块的。初始化的全局变量和静态变量在一块区域,未初始化的全局变量和静态变量又放在相邻的另一块区域中。程序结束后由系统释放。

(4)、文字常量区  :

北方供求黄页网店集成版
北方供求黄页网店集成版

整合了房产,汽车,交友,人才,商贸通,新闻发布,商城,网址,动漫九大程序v3.4更新:1、增加了系统广告管理功能。2、增加了系统置顶功能(超级管理使用)。信息显示顺序改为:置顶-推荐-发布时间。3、增加了标题变色功能(高级用户使用)。4、增加了信息地区二级分类。5、增加了高级会员申请支付宝在线支付。6、增加了已审信息批量删除功能。v3.3更新:1、首页(自动生成静态,后台可设定更新间隔时间,如果有

北方供求黄页网店集成版 0
查看详情 北方供求黄页网店集成版

            常量字符串放在这里。程序结束后由系统释放。

(5)、程序代码区 :

            存放函数体的2进制代码。


立即学习PHP免费学习笔记(深入)”;

下面咱们一起来做个小例子:

class A{    public static $a = 5;    public $b = 4;    public function getA(){        return A::$a;    }    public function setA($val){        A::$a = $val;    }    public function getB(){        return $this->b;    }    public function setB($val){        $this->b = $val;    }    public static function getbb(){        return $this->a;    }}
登录后复制

$a = new A();echo $a->getA();$a->setA('aaaa');echo '<br/>';$b = new A();echo $b->getA();echo '<br/>';$c = new A();echo $c->getA();
登录后复制
上面的执行结果会是:5  aaaa  aaaa

类的对象$a将类的静态成员变量值修改后,由于类的所有实例对象共享静态成员变量,所以其他对象在获取静态成员变量值时就会发生改变。

$a = new A();echo $a->getB();$a->setB('aaaa');echo '<br/>';$b = new A();echo $b->getB();
登录后复制

上面的执行结果是:4 4

echo A::getbb();
登录后复制

会发生报错,因为类的静态方法只能访问静态成员变量

相信看到这里大家应该会明白了吧!

错误之处欢迎指出!


PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

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