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开发环境配置记录
Jan 14 PHP
在项目中寻找代码的坏命名
Jul 14 PHP
两种设置php载入页面时编码的方法
Jul 29 PHP
PHP中使用SimpleXML检查XML文件结构实例
Jan 07 PHP
php文件下载处理方法分析
Apr 22 PHP
PHP定时执行任务的3种方法详解
Dec 21 PHP
Json_decode 解析json字符串为NULL的解决方法(必看)
Feb 17 PHP
php 开发中加密的几种方法总结
Mar 22 PHP
PHP依赖注入(DI)和控制反转(IoC)详解
Jun 12 PHP
php+jQuery实现的三级导航栏下拉菜单显示效果
Aug 10 PHP
Laravel中错误与异常处理的用法示例
Sep 16 PHP
PHP中md5()函数的用法讲解
Mar 30 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
WHOIS类的修改版
2006/10/09 PHP
浏览器关闭后,能继续执行的php函数(ignore_user_abort)
2012/08/01 PHP
PHP中header和session_start前不能有输出原因分析
2013/01/11 PHP
PHP常用的缓存技术汇总
2014/05/05 PHP
PHP中的命名空间详细介绍
2015/07/02 PHP
Thinkphp微信公众号支付接口
2016/08/04 PHP
php中序列化与反序列化详解
2017/02/13 PHP
jquery提交form表单时禁止重复提交的方法
2014/02/13 Javascript
基于jquery固定于顶部的导航响应浏览器滚动条事件
2014/11/02 Javascript
javascript将数字转换整数金额大写的方法
2015/01/27 Javascript
javascript瀑布流式图片懒加载实例
2020/06/28 Javascript
Jquery中map函数的用法
2016/06/03 Javascript
JS判断输入字符串长度实例代码(汉字算两个字符,字母数字算一个)
2016/08/02 Javascript
jQuery插件FusionWidgets实现的Cylinder图效果示例【附demo源码】
2017/03/23 jQuery
JS实现求数组起始项到终止项之和的方法【基于数组扩展函数】
2017/06/13 Javascript
浅谈关于.vue文件中style的scoped属性
2017/08/19 Javascript
JS字符串和数组如何实现相互转化
2020/07/02 Javascript
python删除文件示例分享
2014/01/28 Python
详解Python中的文本处理
2015/04/11 Python
使用Python对IP进行转换的一些操作技巧小结
2015/11/09 Python
Python通过命令开启http.server服务器的方法
2017/11/04 Python
5款非常棒的Python工具
2018/01/05 Python
详解python中的线程与线程池
2019/05/10 Python
python自动提取文本中的时间(包含中文日期)
2020/08/31 Python
java字符串格式化输出实例讲解
2021/01/06 Python
python 列表推导和生成器表达式的使用
2021/02/01 Python
纯CSS3实现表单验证效果(非常不错)
2017/01/18 HTML / CSS
远程Wi-Fi宠物监控相机:Petcube
2017/04/26 全球购物
Hashtable 添加内容的方式有哪几种,有什么区别?
2012/04/08 面试题
成功经营餐厅的创业计划书范文
2013/12/26 职场文书
铁路安全反思材料
2014/12/24 职场文书
二年级语文下册复习计划
2015/01/19 职场文书
2015幼儿园新学期寄语
2015/02/27 职场文书
暑期辅导班宣传单
2015/07/14 职场文书
2016抗战胜利71周年红领巾广播稿
2015/12/18 职场文书
HTML CSS 一个标签实现带动画的抖音LOGO
2022/04/26 HTML / CSS