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中数组合并的两种方法及区别介绍
Sep 14 PHP
深入php中var_dump方法的使用详解
Jun 24 PHP
浅谈使用PHP开发微信支付的流程
Oct 04 PHP
php计算年龄精准到年月日
Nov 17 PHP
php版微信开发Token验证失败或请求URL超时问题的解决方法
Sep 23 PHP
PHP 匿名函数与注意事项详细介绍
Nov 26 PHP
php接口技术实例详解
Dec 07 PHP
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
Dec 14 PHP
php 查找数组元素提高效率的方法详解
May 05 PHP
Yii2.0多文件上传实例说明
Jul 24 PHP
php+jQuery ajax实现的实时刷新显示数据功能示例
Sep 12 PHP
Laravel中validation验证 返回中文提示 全局设置的方法
Sep 29 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实现分页的一个示例
2006/10/09 PHP
php程序之die调试法 快速解决错误
2009/09/17 PHP
php 常用类汇总 推荐收藏
2010/05/13 PHP
PHP 数组基本操作方法详解
2016/06/17 PHP
php实现贪吃蛇小游戏
2016/07/26 PHP
php微信开发之百度天气预报
2016/11/18 PHP
编写兼容IE和FireFox的脚本
2009/05/18 Javascript
javascript中数组的sort()方法的使用介绍
2013/12/18 Javascript
小结Node.js中非阻塞IO和事件循环
2014/09/18 Javascript
jQuery旋转木马式幻灯片轮播特效
2015/12/04 Javascript
JS Array创建及concat()split()slice()的使用方法
2016/06/03 Javascript
基于vue的fullpage.js单页滚动插件
2017/03/20 Javascript
微信小程序 选项卡的简单实例
2017/05/24 Javascript
BootStrap中的Fontawesome 图标
2017/05/25 Javascript
小程序红包雨的实现示例
2019/02/19 Javascript
js实现滑动滑块验证登录
2020/07/24 Javascript
python中threading超线程用法实例分析
2015/05/16 Python
Python+Turtle动态绘制一棵树实例分享
2018/01/16 Python
python3第三方爬虫库BeautifulSoup4安装教程
2018/06/19 Python
对python中字典keys,values,items的使用详解
2019/02/03 Python
python如何运行js语句
2020/09/09 Python
Python通过len函数返回对象长度
2020/10/22 Python
一文读懂python Scrapy爬虫框架
2021/02/24 Python
英国最大的汽车交易网站:Auto Trader UK
2016/09/23 全球购物
苏宁红孩子母婴商城:redbaby
2017/02/12 全球购物
美国在线和移动免费会员制批发零售商:Boxed(移动端的Costco)
2020/01/02 全球购物
绘画设计学生的个人自我评价
2013/09/20 职场文书
学校个人对照检查材料
2014/08/26 职场文书
乡党政领导班子群众路线教育实践活动个人对照检查材料
2014/09/20 职场文书
机票销售员态度不好检讨书
2014/09/27 职场文书
教师群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
2015年护士医德医风自我评价
2015/03/03 职场文书
2015国庆66周年宣传语
2015/07/14 职场文书
2015年挂职锻炼个人总结
2015/10/22 职场文书
2019年第四季度财务部门工作计划
2019/11/02 职场文书
原生JS实现分页
2022/04/19 Javascript