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+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
Mar 07 PHP
php读取mysql乱码,用set names XXX解决的原理分享
Dec 29 PHP
windows下zendframework项目环境搭建(通过命令行配置)
Dec 06 PHP
php模板原理讲解
Nov 13 PHP
利用浏览器的Javascript控制台调试PHP程序
Jan 08 PHP
php数组编码转换示例详解
Mar 11 PHP
php中使用getimagesize获取图片、flash等文件的尺寸信息实例
Apr 29 PHP
mysql desc(DESCRIBE)命令实例讲解
Sep 24 PHP
利用PHP判断文件是否为图片的方法总结
Jan 06 PHP
ThinkPHP使用getlist方法实现数据搜索功能示例
May 08 PHP
PHP+redis实现的悲观锁机制示例
Jun 12 PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
Sep 11 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
迅雷下载《中学科技》怀旧期刊下载
2021/02/27 无线电
php数组函数序列之array_flip() 将数组键名与值对调
2011/11/07 PHP
php中CI操作多个数据库的代码
2012/07/05 PHP
php中base64_decode与base64_encode加密解密函数实例
2014/11/24 PHP
PHP 500报错的快速解决方法
2016/12/14 PHP
CentOS 上搭建 PHP7 开发测试环境
2017/02/26 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
PHP实现微信提现功能
2018/09/30 PHP
一个简单的JavaScript数据缓存系统实现代码
2010/10/24 Javascript
JavaScript获取当前日期是星期几的方法
2015/04/06 Javascript
js轮播图代码分享
2016/07/14 Javascript
Bootstrap 填充Json数据的实例代码
2017/01/11 Javascript
Linux系统中利用node.js提取Word(doc/docx)及PDF文本的内容
2017/06/17 Javascript
JavaSctit 利用FileReader和滤镜上传图片预览功能
2017/09/05 Javascript
详解Nuxt.js部署及踩过的坑
2018/08/07 Javascript
用vscode开发vue应用的方法步骤
2019/05/06 Javascript
nodejs 递归拷贝、读取目录下所有文件和目录
2019/07/18 NodeJs
Layui数据表格 前后端json数据接收的方法
2019/09/19 Javascript
NProgress显示顶部进度条效果及使用详解
2019/09/21 Javascript
[02:09]EHOME夺得首届辉夜杯冠军—现场颁奖仪式
2015/12/28 DOTA
python为tornado添加recaptcha验证码功能
2014/02/26 Python
Python实现列表删除重复元素的三种常用方法分析
2017/11/24 Python
Python实现的质因式分解算法示例
2018/05/03 Python
Python实现个人微信号自动监控告警的示例
2019/07/03 Python
基于python实现的百度新歌榜、热歌榜下载器(附代码)
2019/08/05 Python
Python元组 tuple的概念与基本操作详解【定义、创建、访问、计数、推导式等】
2019/10/30 Python
pycharm运行scrapy过程图解
2019/11/22 Python
借助HTML5 Canvas API制作一个简单的猜字游戏
2016/03/25 HTML / CSS
Mountain Warehouse德国官网:英国户外零售商
2019/08/11 全球购物
财务人员担保书
2014/05/13 职场文书
年检委托书
2014/08/30 职场文书
2014年教师教学工作总结
2014/11/08 职场文书
社区党风廉政建设调研报告
2015/01/01 职场文书
跟班学习心得体会(共6篇)
2016/01/23 职场文书
2016年中学端午节主题活动总结
2016/04/01 职场文书
Vue ECharts实现机舱座位选择展示功能
2022/05/15 Vue.js