php面向对象中static静态属性和静态方法的调用


Posted in PHP onFebruary 08, 2015

本文实例讲述了php中static静态属性和静态方法的调用。分享给大家供大家参考。具体如下:

这里分析了php面向对象中static静态属性和静态方法的调用。关于它们的调用(能不能调用,怎么样调用),需要弄明白了他们在内存中存放位置,这样就非常容易理解了。静态属性、方法(包括静态与非静态)在内存中,只有一个位置(而非静态属性,有多少实例化对象,就有多少个属性)。

实例:

<?php
header("content-type:text/html;charset=utf-8");
class Human{
 static public $name = "小妹";
 public $height = 180;
 static public function tell(){
 echo self::$name;//静态方法调用静态属性,使用self关键词
 //echo $this->height;//错。静态方法不能调用非静态属性
//因为 $this代表实例化对象,而这里是类,不知道 $this 代表哪个对象
 }
 public function say(){
 echo self::$name . "我说话了";
 //普通方法调用静态属性,同样使用self关键词
 echo $this->height;
 }
}
$p1 = new Human();
$p1->say(); 
$p1->tell();//对象可以访问静态方法
echo $p1::$name;//对象访问静态属性。不能这么访问$p1->name
//因为静态属性的内存位置不在对象里
Human::say();//错。say()方法有$this时出错;没有$this时能出结果
//但php5.4以上会提示
?>

结论:

(1)、静态属性不需要实例化即可调用。因为静态属性存放的位置是在类里,调用方法为"类名::属性名";
(2)、静态方法不需要实例化即可调用。同上
(3)、静态方法不能调用非静态属性。因为非静态属性需要实例化后,存放在对象里;
(4)、静态方法可以调用非静态方法,使用 self 关键词。php里,一个方法被self:: 后,它就自动转变为静态方法;

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

PHP 相关文章推荐
php中用foreach来操作数组的代码
Jul 17 PHP
PHP 异步执行方法,模拟多线程的应用分析
Jun 03 PHP
php递归函数中使用return的注意事项
Jan 17 PHP
php中getservbyport与getservbyname函数用法实例
Nov 18 PHP
PHP处理大量表单字段的便捷方法
Feb 07 PHP
PHP实现基于mysqli的Model基类完整实例
Apr 08 PHP
php实现当前页面点击下载文件的实例代码
Nov 16 PHP
Discuz论坛密码与密保加密规则
Dec 19 PHP
Thinkphp实现站点静态化的方法详解
Mar 21 PHP
php判断文件上传图片格式的实例详解
Sep 30 PHP
在laravel中使用with实现动态添加where条件
Oct 10 PHP
详解PHP设计模式之依赖注入模式
May 25 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
PHP实现自动识别Restful API的返回内容类型
Feb 07 #PHP
You might like
php 参数过滤、数据过滤详解
2015/10/26 PHP
YII Framework框架教程之缓存用法详解
2016/03/14 PHP
php微信公众号开发之关键词回复
2018/10/20 PHP
php简单计算权重的方法示例【适合抽奖类应用】
2019/06/10 PHP
静态的动态续篇之来点XML
2006/08/15 Javascript
基于jQuery实现的Ajax 验证用户名是否存在的实现代码
2011/04/06 Javascript
50个比较实用jQuery代码段
2011/09/18 Javascript
JavaScript实现的一个日期格式化函数分享
2014/12/06 Javascript
NodeJS学习笔记之(Url,QueryString,Path)模块
2015/01/13 NodeJs
vuejs在解析时出现闪烁的原因及防止闪烁的方法
2016/09/19 Javascript
Angular 4.0学习教程之架构详解
2017/09/12 Javascript
jquery分页插件pagination使用教程
2018/10/23 jQuery
微信小程序使用canvas自适应屏幕画海报并保存图片功能
2019/07/25 Javascript
小程序实现左滑删除的效果的实例代码
2020/10/19 Javascript
python调用cmd复制文件代码分享
2013/12/27 Python
Python中的类学习笔记
2014/09/23 Python
python入门教程之识别验证码
2017/03/04 Python
python导出chrome书签到markdown文件的实例代码
2017/12/27 Python
Python实现将Excel转换成xml的方法示例
2018/08/25 Python
python调用matlab的m自定义函数方法
2019/02/18 Python
Python实现字典按key或者value进行排序操作示例【sorted】
2019/05/03 Python
python GUI计算器的实现
2020/10/09 Python
有机婴儿毛毯和衣服:Monica + Andy
2020/03/01 全球购物
莫斯科珠宝厂官方网站:Miuz
2020/09/19 全球购物
以下为Windows NT 下的32 位C++程序,请计算sizeof 的值
2016/12/07 面试题
大学生职业规划前言模板
2013/12/27 职场文书
经贸日语专业个人求职信范文
2013/12/28 职场文书
团队经理竞聘书
2014/03/31 职场文书
科技活动周标语
2014/10/08 职场文书
未婚证明书模板
2014/10/08 职场文书
单位接收函格式
2015/01/30 职场文书
2015年企业工作总结范文
2015/04/28 职场文书
党支部考察意见范文
2015/06/02 职场文书
冰雪公主观后感
2015/06/16 职场文书
学历证明样本
2015/06/16 职场文书
小学班主任心得体会
2016/01/07 职场文书