PHP静态成员变量


Posted in PHP onFebruary 14, 2017

静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态成员不能访问非静态的成员..因为静态成员存在于内存,所以非静态成员可以直接访问类中静态的成员.

1、静态全局变量

定义:在全局变量前,加上关键字 static 该变量就被定义成为了一个静态全局变量。

特点:

A、该变量在全局数据区分配内存。

B、初始化:如果不显式初始化,那么将被隐式初始化为0(自动变量是随机的,除非显式地初始化)。

C、访变量只在本源文件可见,严格的讲应该为定义之处开始到本文件结束。

2.静态局部变量

特点:

A、该变量在全局数据区分配内存。

B、初始化:如果不显式初始化,那么将被隐式初始化为0,以后的函数调用不再进行初始化。

C、它始终驻留在全局数据区,直到程序运行结束。但其作用域为局部作用域,当定义它的函数或 语句块结束时,其作用域随之结束。

静态数据成员和普通数据成员一样遵从public,protected,private访问规则;

因为静态数据成员在全局数据区分配内存,属于本类的所有对象共享,所以,它不属于特定的类对象,在没有产生类对象时其作用域就可见,即在没有产生类的实例时,我们就可以操作它;‘'静态数据成员初始化与一般数据成员初始化不同。静态数据成员初始化的格式为:

数据类型><类名>::<静态数据成员名>=<值>

类的静态数据成员有两种访问形式:

<类对象名>.<静态数据成员名> 或 <类类型名>::<静态数据成员名>

如果静态数据成员的访问权限允许的话(即public的成员),可在程序中,按上述格式来引用静态数据成员 ;

静态数据成员主要用在各个对象都有相同的某项属性的时候。比如对于一个存款类,每个实例的利息都是相同的。所以,应该把利息设为存款类的静态数据成员。这有两个好处,第一,不管定义多少个存款类对象,利息数据成员都共享分配在全局数据区的内存,所以节省存储空间。第二,一旦利息需要改变时,只要改变一次,则所有存款类对象的利息全改变过来了;

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

PHP 相关文章推荐
PHP校验ISBN码的函数代码
Jan 17 PHP
Windows下利用Gvim写PHP产生中文乱码问题解决方法
Apr 20 PHP
PHP中用hash实现的数组
Jul 17 PHP
php 保留字列表
Oct 04 PHP
使用PHP导出Word文档的原理和实例
Oct 21 PHP
PHP开发框架Laravel数据库操作方法总结
Sep 03 PHP
详解WordPress中分类函数wp_list_categories的使用
Jan 04 PHP
php使用pear_smtp发送邮件
Apr 15 PHP
php生成txt文件实例代码介绍
Apr 28 PHP
php函数mkdir实现递归创建层级目录
Oct 27 PHP
thinkphp 手机号和用户名同时登录
Jan 20 PHP
PHP simplexml_load_string()函数实例讲解
Feb 03 PHP
php中序列化与反序列化详解
Feb 13 #PHP
PHP最常用的正则表达式
Feb 13 #PHP
PHP面相对象中的重载与重写
Feb 13 #PHP
PHP中overload与override的区别
Feb 13 #PHP
PHP处理Ajax请求与Ajax跨域问题
Feb 13 #PHP
curl 出现错误的调试方法(必看)
Feb 13 #PHP
PHP中CheckBox多选框上传失败的代码写法
Feb 13 #PHP
You might like
处理单名多值表单的详解
2013/06/08 PHP
php 判断字符串编码是utf-8 或gb2312实例
2016/11/01 PHP
Yii2框架RESTful API 格式化响应,授权认证和速率限制三部分详解
2016/11/10 PHP
ThinkPHP 3.2.3实现页面静态化功能的方法详解
2017/08/03 PHP
js计算页面刷新的次数
2009/07/20 Javascript
javascript Math.random()随机数函数
2009/11/04 Javascript
JQuery toggle使用分析
2009/11/16 Javascript
Jquery结合HTML5实现文件上传
2015/06/25 Javascript
js实现tab切换效果实例
2015/09/16 Javascript
jquery模拟多级复选框效果的简单实例
2016/06/08 Javascript
AngularJS用户选择器指令实例分析
2016/11/04 Javascript
深入理解Javascript中的valueOf与toString
2017/01/04 Javascript
详解ES6中的代理模式——Proxy
2018/01/08 Javascript
vue element-ui table表格滚动加载方法
2018/03/02 Javascript
Vue.js组件通信之自定义事件详解
2019/10/19 Javascript
python中List的sort方法指南
2014/09/01 Python
python BeautifulSoup设置页面编码的方法
2015/04/03 Python
python实现将html表格转换成CSV文件的方法
2015/06/28 Python
Python出现segfault错误解决方法
2016/04/16 Python
python用reduce和map把字符串转为数字的方法
2016/12/19 Python
python之super的使用小结
2018/08/13 Python
Scrapy使用的基本流程与实例讲解
2018/10/21 Python
wxPython色环电阻计算器
2019/11/18 Python
Python 使用threading+Queue实现线程池示例
2019/12/21 Python
PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解
2020/04/23 Python
2分钟教你实现环形/扇形菜单(基础版)
2020/01/15 HTML / CSS
独特的礼品和创新的科技产品:The Grommet
2018/02/24 全球购物
在阿联酋购买翻新手机和平板电脑:Teckzu
2021/02/12 全球购物
分厂厂长岗位职责
2013/12/29 职场文书
业务部门经理岗位职责
2014/02/23 职场文书
我与祖国共奋进演讲稿
2014/09/13 职场文书
依法行政工作汇报材料
2014/10/28 职场文书
2014年机关党建工作总结
2014/11/11 职场文书
2015年体育教学工作总结
2015/05/20 职场文书
2015年基层党支部工作总结
2015/05/21 职场文书
小程序实现悬浮按钮的全过程记录
2021/10/16 HTML / CSS