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+MSSQL分页的例子
Oct 09 PHP
Mysql和网页显示乱码解决方法集锦
Mar 27 PHP
解决了Ajax、MySQL 和 Zend Framework 的乱码问题
Mar 03 PHP
php 读取shell管道传输过来的内容
Mar 01 PHP
php 日期和时间的处理-郑阿奇(续)
Jul 04 PHP
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
Apr 25 PHP
CodeIgniter与PHP5.6的兼容问题
Jul 16 PHP
PHP入门教程之PHP操作MySQL的方法分析
Sep 11 PHP
DEDE实现转跳属性文档在模板上调用出转跳地址
Nov 04 PHP
Yii2实现增删改查后留在当前页的方法详解
Jan 13 PHP
PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】
Apr 19 PHP
php源码的使用方法讲解
Sep 26 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
用来解析.htgroup文件的PHP类
2012/09/05 PHP
php+mysql实现无限分类实例详解
2015/01/15 PHP
php中return的用法实例分析
2015/02/28 PHP
PHP获取当前系统时间的方法小结
2018/10/03 PHP
php ajax confirm 删除实例详解
2019/03/06 PHP
javascript 文档的编码问题解决
2009/03/01 Javascript
Javascript之this关键字深入解析
2013/11/12 Javascript
jQuery .tmpl() 用法示例介绍
2014/08/21 Javascript
Javascript核心读书有感之表达式和运算符
2015/02/11 Javascript
jQuery实现类似标签风格的导航菜单效果代码
2015/08/25 Javascript
JS控制静态页面之间传递参数获取参数并应用的简单实例
2016/08/10 Javascript
浅谈angular懒加载的一些坑
2016/08/20 Javascript
js实现时间轴自动排列效果
2017/03/09 Javascript
JavaScript实现省市县三级级联特效
2017/05/16 Javascript
vue-resource + json-server模拟数据的方法
2017/11/02 Javascript
vue自动化表单实例分析
2018/05/06 Javascript
微信小程序实现九宫格抽奖
2020/04/15 Javascript
详解nvm管理多版本node踩坑
2019/07/26 Javascript
vue分页插件的使用方法
2019/12/25 Javascript
[04:52]DOTA2亚洲邀请赛附加赛 TOP10精彩集锦
2015/01/29 DOTA
python 查找文件夹下所有文件 实现代码
2009/07/01 Python
python使用在线API查询IP对应的地理位置信息实例
2014/06/01 Python
python自动生成model文件过程详解
2019/11/02 Python
Python多进程编程常用方法解析
2020/03/26 Python
python遍历路径破解表单的示例
2020/11/21 Python
女士和男士时尚鞋在线购物:Shoespie
2019/02/28 全球购物
Gibson London官网:以地道的英国男装而著称
2019/12/06 全球购物
英国知名小木屋定制网站:Tiger Sheds
2020/03/06 全球购物
日本AOKI官方商城:AOKI西装
2020/06/11 全球购物
问卷调查计划书
2014/01/10 职场文书
市政工程技术专业自荐书
2014/07/06 职场文书
党的生日演讲稿
2014/09/10 职场文书
离婚协议书范本(2016最新版)
2016/03/18 职场文书
七年级话题作文之执着
2019/11/19 职场文书
十大动画制作软件,Adobe产品上榜两款,第一是行业标准软件
2022/03/18 杂记
nginx静态资源的服务器配置方法
2022/07/07 Servers