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 相关文章推荐
Discuz 5.0 中读取纯真IP数据库函数分析
Mar 16 PHP
PHP $_FILES函数详解
Mar 09 PHP
php 判断访客是否为搜索引擎蜘蛛的函数代码
Jul 29 PHP
php excel reader读取excel内容存入数据库实现代码
Dec 06 PHP
PHP实现邮件群发的源码
Jun 18 PHP
Zend Framework教程之请求对象的封装Zend_Controller_Request实例详解
Mar 07 PHP
深入理解PHP之源码目录结构与功能说明
Jun 01 PHP
Yii2中cookie用法示例分析
Jul 18 PHP
基于Swoole实现PHP与websocket聊天室
Aug 03 PHP
php进程daemon化的正确实现方法
Sep 06 PHP
php设计模式之建造器模式分析【星际争霸游戏案例】
Jan 23 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
Feb 18 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基于IMAP收取邮件的方法示例
2017/08/07 PHP
jquery 输入框数字限制插件
2009/11/10 Javascript
javascript document.compatMode兼容性
2010/02/23 Javascript
jquery ui dialog ie8出现滚动条的解决方法
2010/12/06 Javascript
js中有关IE版本检测
2012/01/04 Javascript
关于JavaScript中的关联数组分析
2013/04/09 Javascript
JS访问SWF的函数用法实例
2015/07/01 Javascript
详解JavaScript ES6中的Generator
2015/07/28 Javascript
基于jQuery实现仿百度首页换肤背景图片切换代码
2015/08/25 Javascript
jquery验证手机号是否正确实例讲解
2015/11/17 Javascript
关于Iframe父页面与子页面之间的相互调用
2016/11/22 Javascript
jquery.flot.js简单绘制折线图用法示例
2017/03/13 Javascript
vue+elementUI 复杂表单的验证、数据提交方案问题
2019/06/24 Javascript
jQuery三组基本动画与自定义动画操作实例总结
2020/05/09 jQuery
vue中可编辑树状表格的实现代码
2020/10/31 Javascript
html5以及jQuery实现本地图片上传前的预览代码实例讲解
2021/03/01 jQuery
[04:19]DOTA2完美大师赛第四天精彩集锦
2017/11/26 DOTA
[57:31]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第一场 2月1日
2021/03/11 DOTA
python获取指定路径下所有指定后缀文件的方法
2015/05/26 Python
在Linux系统上通过uWSGI配置Nginx+Python环境的教程
2015/12/25 Python
Python中int()函数的用法浅析
2017/10/17 Python
LRUCache的实现原理及利用python实现的方法
2017/11/21 Python
对Python 文件夹遍历和文件查找的实例讲解
2018/04/26 Python
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
2019/01/29 Python
详解python常用命令行选项与环境变量
2020/02/20 Python
Python计算指定日期是今年的第几天(三种方法)
2020/03/26 Python
物流管理专业应届生求职信
2013/11/21 职场文书
澳大利亚商务邀请函
2014/01/17 职场文书
《恐龙》教学反思
2014/04/27 职场文书
工作保证书范文
2014/04/29 职场文书
乡镇党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
2015年乡镇党务公开工作总结
2015/05/19 职场文书
房屋所有权证明
2015/06/19 职场文书
幼儿园音乐教学反思
2016/02/18 职场文书
《桂花雨》教学反思
2016/02/19 职场文书
Opencv实现二维直方图的计算及绘制
2021/07/21 Python