PHP静态成员变量


Posted in PHP onFebruary 14, 2017

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

1、静态全局变量

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

特点:

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

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

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

2.静态局部变量

特点:

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

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

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

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

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

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

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

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

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

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

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

PHP 相关文章推荐
非常不错的MySQL优化的8条经验
Mar 24 PHP
深入php处理整数函数的详解
Jun 09 PHP
SESSION存放在数据库用法实例
Aug 08 PHP
适合PHP初学者阅读的4本经典书籍
Sep 23 PHP
PHP对称加密算法(DES/AES)类的实现代码
Nov 14 PHP
PHP开发中解决并发问题的几种实现方法分析
Nov 13 PHP
thinkphp整合系列之极验滑动验证码geetest功能
Jun 18 PHP
使用swoole 定时器变更超时未支付订单状态的解决方案
Jul 24 PHP
php校验公钥是否可用的实例方法
Sep 17 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
Nov 14 PHP
如何重写Laravel异常处理类详解
Dec 20 PHP
关于PHP数组迭代器的使用方法实例
Nov 17 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
打造计数器DIY三步曲(上)
2006/10/09 PHP
探讨php中遍历二维数组的几种方法详解
2013/06/08 PHP
PHP计算指定日期所在周的开始和结束日期的方法
2015/03/24 PHP
PHP中创建和验证哈希的简单方法实探
2015/07/06 PHP
实例分析基于PHP微信网页获取用户信息
2017/11/24 PHP
php 中的信号处理操作实例详解
2020/03/04 PHP
IE6下CSS图片缓存问题解决方法
2010/12/09 Javascript
js setTimeout 常见问题小结
2013/08/13 Javascript
淘宝网提供的国内NPM镜像简介和使用方法
2014/04/17 Javascript
nodejs之请求路由概述
2014/07/05 NodeJs
JavaScript将取代AppleScript?
2014/09/18 Javascript
JavaScript中的this机制
2016/01/30 Javascript
Javascript之Math对象详解
2016/06/07 Javascript
AngularJS基础 ng-hide 指令用法及示例代码
2016/08/01 Javascript
jsonp跨域请求详解
2017/07/13 Javascript
js实现select下拉框选择
2020/01/11 Javascript
如何基于js判断浏览器版本
2020/02/20 Javascript
微信小程序自定义modal弹窗组件的方法详解
2020/12/20 Javascript
[00:53]TI3正赛第三天 DK怒破A队不败金身 现场国旗飘扬热血激昂
2013/08/10 DOTA
python列表操作使用示例分享
2014/02/21 Python
python的变量与赋值详细分析
2017/11/08 Python
Python tornado队列示例-一个并发web爬虫代码分享
2018/01/09 Python
Python打印输出数组中全部元素
2018/03/13 Python
django1.11.1 models 数据库同步方法
2018/05/30 Python
linux安装Python3.4.2的操作方法
2018/09/28 Python
python中设置超时跳过,超时退出的方式
2019/12/13 Python
关于keras中keras.layers.merge的用法说明
2020/05/23 Python
python boto和boto3操作bucket的示例
2020/10/30 Python
python爬虫利器之requests库的用法(超全面的爬取网页案例)
2020/12/17 Python
自我评价的范文
2014/02/02 职场文书
《去年的树》教学反思
2014/04/11 职场文书
2014年班级工作总结范文
2014/12/23 职场文书
表扬稿范文
2015/01/17 职场文书
最感人的道歉情书
2015/05/12 职场文书
周末问候语大全
2015/11/10 职场文书
数据设计之权限的实现
2022/08/05 MySQL