php中静态变量和静态方法
1,静态变量:所有对象共享的变量成为静态变量。静态变量类似于全局变量,不过全局变量破坏对象的封装性,因此其对应于面向过程;静态变量对应于面向对象。
2,全局变量,全局变量的使用实例如下,声明全局变量时候 global $global_nums;在局部函数中使用全局变量时候,需要先声明下全局变量再使用,声明时候系统会在栈区创建一个变量,这变量存放地址,指向全局区的全局变量。
<?php
/**
* Created by PhpStorm.
* User: usa007lhy
* Date: 2015/10/15
* Time: 21:38
*/
global $global_nums;
$global_nums = 0;
class Child{
public $name;
function __construct($name){
$this->name = $name;
}
public function join_game(){
global $global_nums;
$global_nums++;
echo $this->name."加入玩雪球游戏<br/>";
}
}
$child1 = new Child(‘小刚‘);
$child1->join_game();
echo $global_nums."个人加入堆雪球的游戏。<br/>"
?>
程序变化时候,内存变化如下图所示

3,静态变量
静态变量只能被类访问,访问静态变量有两种方式,(1)类名::静态变量,任何位置可以使用;(2)self::静态变量,只能在类内部使用,即只能适用于成员函数。
<?php /** * Created by PhpStorm. * User: usa007lhy
* Author: www1.qixoo.com
* Date: 2015/10/15 * Time: 21:38 */ class Child{ public static $nums = 0; public $name; function __construct($name){ $this->name = $name; } public function join_game(){ self::$nums++; echo $this->name."加入玩雪球游戏<br/>"; } } $child1 = new Child(‘小刚‘); $child1->join_game(); echo Child::$nums."个人加入堆雪球的游戏。<br/>" ?>
程序运行时,内存变化如下:

4,静态方法
php中静态变量和静态方法的更多相关文章
- 谈谈java中静态变量与静态方法在有继承关系的两个类中调用
谈谈java中静态变量与静态方法在有继承关系的两个类中调用 学习的中如果遇到不明白或者不清楚的的时候,就是自己做些测试,自己去试试,这次我就做一个关于静态变量和静态方法在有继承关系的两个类中的问题测试 ...
- java中静态变量与静态方法的继承(转)
总结: 1.静态变量与静态方法说继承并不确切,静态方法与变量是属于类的方法与变量.而子类也属于超类,比如说Manage extends Employee,则Manage也是一个Employee,所以子 ...
- C++类中静态变量和静态方法使用介绍
静态成员的提出是为了解决数据共享的问题.实现共享有许多方法,如:设置全局性的变量或对象是一种方法.但是,全局变量或对象是有局限性的.这一章里,我们主要讲述类的静态成员来实现数据的共享. 静态数据成员 ...
- php中静态变量和静态方法。
在php类的内部当使用static进行修饰了类的属性或者方法,则改属性或者方法被成为类的静态属性或者静态访问, 静态属性和非静态属性的区别 php官方的解释 声明类成员或方法为static,就可以不实 ...
- C#中静态变量和 静态方法的作用
1.静态变量 在C#程序中,没有全局变量的概念,这意味着所有的成员变量只有该类的实例才能操作这些数据,这起到了“信息隐藏”的作用.但有些时候,这样做却不是个明智的选择. 假设我们要定义一个图书类,要求 ...
- C++类中静态变量和静态方法的注意事项
在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量仅仅存储一份供全部对象共用.所以在全部对象中都能够共享它.使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还能够 ...
- C++类中静态变量和静态方法使用介绍!
原链接:http://www.ecoviews.cn/net/archives/216.html 静态成员的提出是为了解决数据共享的问题.实现共享有许多方法,如:设置全局性的变量或对象是一种方法.但是 ...
- Java中的静态变量、静态方法问题
由关键字static所定义的变量与方法,分别称为静态变量和静态方法,它们又都被称为静态成员 1.静态方法 无需本类的对象也可以调用此方法,调用形式为“类名.方法名”,静态方法常常为其他类提供一些方法而 ...
- Java中静态变量、静态代码块、非静态代码块以及静态方法的加载顺序
在研究单例设计模式的时候,用到了静态变量和静态方法的内容,出于兴趣,这里简单了解一下这四个模块在类初始化的时候的加载顺序. 经过研究发现,它们的加载顺序为: 1.非静态代码块 2.静态变量或者静态代码 ...
随机推荐
- 给H5页面添加百分比的进度条,精确度高
进度条样式地址:http://sandbox.runjs.cn/show/6vxbxjrf SVG圆环样式地址:http://sandbox.runjs.cn/show/3ho1qpe9 原理:由于H ...
- addEvent和removeEvent优化写法
;(function(){ /** * 初始化分支是一种优化模式,当知道某个条件在整个生命周期内都不会发生变化时,仅对该条件测试一次. */ // 一般写法 var util = { addEvent ...
- S2小测--索引--视图
1. 关于Sql server 视图 视图是一个虚拟表,我们在查询视图的时候,实际上是对基础表的查询.视图不仅可以作为SELECT查询的目标,也可以作为修改语句的目 标.理论上它可以像普通的物理表一 ...
- 工作者队列原理解析(后台writeback)
每一个CPU都会有两个(或者一个?)kwoker线程. kwoker线程,说白了就是尽量减少进程的数目,为了什么呢?因为线程数据太多的话,调度的成本比较高,占用太多的系统资源,所以这里是进程的一个简化 ...
- 基于.Net FrameWork的 RestFul Service
关于本文 这篇文章的目的就是向大家阐述如何在.net framework 4.0中创建RestFul Service并且使用它. 什么是web Services,什么是WCF 首先讲到的是web Se ...
- PC网站应用接入微信登录
参考文档: https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&ve ...
- <转载> 你应该更新的Java知识之常用程序库(一)
原文出处:http://www.blogbus.com/dreamhead-logs/226738702.html 很多人眼中,Java已经是一门垂垂老矣的语言,但并不妨碍Java世界依然在前进.如果 ...
- STM32的USB速度,终于确定了传输极限,为以后的产品设计提供了数据。
是自定协议,用到一个bulk in ep1, 一个bulk out ep2 端点 用虚拟串口的优点显而易见,上位机的编写非常方便,就按照常规的串口功能编写就可以了,而速度确还是usb的速度 USB ...
- Xamarin.Form 实例: Discuz BBS 客户端 源码分享
感谢台风, 这个十一长假让我好好的休息了一回, 睡觉到腰酸背疼, 看电影看到眼发红. 今天最后一天, 不敢出去逛, 不知道哪会还会下暴雨... 嗯嗯..这个项目其实在十一之前就开始了, 工作无聊,没有 ...
- java识别简单的验证码
1.老规矩,先上图 要破解类似这样的验证码: 拆分后结果: 然后去匹配,得到结果. 2.拆分图片 拿到图片后,首先把图片中我们需要的部分截取出来. 具体的做法是,创建一个的和图片像素相同的一个代表权重 ...