php面向对象中static静态属性与方法的内存位置分析


Posted in PHP onFebruary 08, 2015

本文实例分析了php面向对象中static静态属性与方法的内存位置。分享给大家供大家参考。具体如下:

static静态属性的内存位置——>类,而不是对象。下面做测试来证明一下

<?php
header("content-type:text/html;charset=utf-8");
class Human{
 static public $name = "小妹";
 public $height;
 public function tell(){
 }
}
echo Human:$name;
//不依赖于对象,就能直接访问。因为静态属性的内存位置是在类里,而不是对象。
$p1 = new Human();
$p2 = new Human();
print_r($p1);
echo $p1::$name = "夫人";
//在$p1对象上改变静态属性的值,那$p2对象也会相应的改变。
echo $p2::$name;
?>

输出结果可以看出:

1、echo Human:$name :类声明完毕,就存在static属性,并不依赖于对象。因此,静态属性只有一个(意思是在内存里,存放的位置并不是在对象里;如果在对象里,那实例化一个对象,就相应的有该静态的位置,如height属性);

2、print_r($p1):打印结果只有height属性,而没有name;

3、静态属性的值变化后,所有对象的该属性值都会受到影响。

对于方法,无论是静态的、还是普通的,都是存在于类内存空间中。证明也很简单,new一个对象,print_r(对象)即可。

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
Uchome1.2 1.5 代码学习 common.php
Apr 24 PHP
javascript,php获取函数参数对象的代码
Feb 03 PHP
PHP速成大法
Jan 30 PHP
php获取从百度、谷歌等搜索引擎进入网站关键词的方法
Jul 08 PHP
php微信公众平台开发(三)订阅事件处理
Dec 06 PHP
php基于session锁防止阻塞请求的方法分析
Aug 07 PHP
laravel通过创建自定义artisan make命令来新建类文件详解
Aug 17 PHP
利用Homestead快速运行一个Laravel项目的方法详解
Nov 14 PHP
PHP实现双链表删除与插入节点的方法示例
Nov 11 PHP
Laravel框架使用Redis的方法详解
May 30 PHP
php中file_get_contents()函数用法实例
Feb 21 PHP
php时间戳转换代码详解
Aug 04 PHP
php面向对象中static静态属性和静态方法的调用
Feb 08 #PHP
php延迟静态绑定实例分析
Feb 08 #PHP
PHP调用Linux命令权限不足问题解决方法
Feb 07 #PHP
PHP处理大量表单字段的便捷方法
Feb 07 #PHP
PHP生成压缩文件实例
Feb 07 #PHP
PHP实现股票趋势图和柱形图
Feb 07 #PHP
PHP中的闭包(匿名函数)浅析
Feb 07 #PHP
You might like
PHP独立Session数据库存储操作类分享
2014/06/11 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(八)
2014/06/23 PHP
跟我学Laravel之快速入门
2014/10/15 PHP
php字符串的替换,分割和连接方法
2016/05/23 PHP
Yii2语言国际化的配置教程
2018/08/19 PHP
python进程与线程小结实例分析
2018/11/11 PHP
YII2框架中使用RBAC对模块,控制器,方法的权限控制及规则的使用示例
2020/03/18 PHP
javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
2009/07/06 Javascript
jQuery 源码分析笔记(3) Deferred机制
2011/06/19 Javascript
jQuery层次选择器选择元素使用介绍
2013/04/18 Javascript
全屏js头像上传插件源码高清版
2016/03/29 Javascript
Ionic如何实现下拉刷新与上拉加载功能
2016/06/03 Javascript
bootstrap选项卡使用方法解析
2017/01/11 Javascript
基于bootstrap实现收缩导航条
2017/03/17 Javascript
将angular-ui的分页组件封装成指令的方法详解
2017/05/10 Javascript
详解angularJS自定义指令间的相互交互
2017/07/05 Javascript
jQuery选择器之表单元素选择器详解
2017/09/19 jQuery
详解10分钟学会vue滚动行为
2017/09/21 Javascript
帝国cms首页列表页实现点赞功能
2017/10/30 Javascript
浅谈VueJS SSR 后端绘制内存泄漏的相关解决经验
2018/12/20 Javascript
一个Java程序猿眼中的前后端分离以及Vue.js入门(推荐)
2019/04/19 Javascript
vue 使用v-for进行循环的实例代码详解
2020/02/19 Javascript
vue form表单post请求结合Servlet实现文件上传功能
2021/01/22 Vue.js
对DataFrame数据中的重复行,利用groupby累加合并的方法详解
2019/01/30 Python
Pycharm+django2.2+python3.6+MySQL实现简单的考试报名系统
2019/09/05 Python
在Keras中CNN联合LSTM进行分类实例
2020/06/29 Python
css3实现wifi信号逐渐增强效果实例
2017/08/09 HTML / CSS
localStorage 设置过期时间的方法实现
2018/12/21 HTML / CSS
挪威手表购物网站:Klokker
2016/09/19 全球购物
普通党员个人对照检查材料
2014/09/18 职场文书
在职证明书范本(2014新版)
2014/09/25 职场文书
2015年收银工作总结范文
2015/04/01 职场文书
学校党支部承诺书
2015/04/30 职场文书
社区党建工作总结2015
2015/05/13 职场文书
劳动模范获奖感言
2015/07/31 职场文书
四十九个javascript小知识实用技巧
2021/11/20 Javascript