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中静态变量和静态方法的更多相关文章

  1. 谈谈java中静态变量与静态方法在有继承关系的两个类中调用

    谈谈java中静态变量与静态方法在有继承关系的两个类中调用 学习的中如果遇到不明白或者不清楚的的时候,就是自己做些测试,自己去试试,这次我就做一个关于静态变量和静态方法在有继承关系的两个类中的问题测试 ...

  2. java中静态变量与静态方法的继承(转)

    总结: 1.静态变量与静态方法说继承并不确切,静态方法与变量是属于类的方法与变量.而子类也属于超类,比如说Manage extends Employee,则Manage也是一个Employee,所以子 ...

  3. C++类中静态变量和静态方法使用介绍

    静态成员的提出是为了解决数据共享的问题.实现共享有许多方法,如:设置全局性的变量或对象是一种方法.但是,全局变量或对象是有局限性的.这一章里,我们主要讲述类的静态成员来实现数据的共享. 静态数据成员 ...

  4. php中静态变量和静态方法。

    在php类的内部当使用static进行修饰了类的属性或者方法,则改属性或者方法被成为类的静态属性或者静态访问, 静态属性和非静态属性的区别 php官方的解释 声明类成员或方法为static,就可以不实 ...

  5. C#中静态变量和 静态方法的作用

    1.静态变量 在C#程序中,没有全局变量的概念,这意味着所有的成员变量只有该类的实例才能操作这些数据,这起到了“信息隐藏”的作用.但有些时候,这样做却不是个明智的选择. 假设我们要定义一个图书类,要求 ...

  6. C++类中静态变量和静态方法的注意事项

    在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量仅仅存储一份供全部对象共用.所以在全部对象中都能够共享它.使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还能够 ...

  7. C++类中静态变量和静态方法使用介绍!

    原链接:http://www.ecoviews.cn/net/archives/216.html 静态成员的提出是为了解决数据共享的问题.实现共享有许多方法,如:设置全局性的变量或对象是一种方法.但是 ...

  8. Java中的静态变量、静态方法问题

    由关键字static所定义的变量与方法,分别称为静态变量和静态方法,它们又都被称为静态成员 1.静态方法 无需本类的对象也可以调用此方法,调用形式为“类名.方法名”,静态方法常常为其他类提供一些方法而 ...

  9. Java中静态变量、静态代码块、非静态代码块以及静态方法的加载顺序

    在研究单例设计模式的时候,用到了静态变量和静态方法的内容,出于兴趣,这里简单了解一下这四个模块在类初始化的时候的加载顺序. 经过研究发现,它们的加载顺序为: 1.非静态代码块 2.静态变量或者静态代码 ...

随机推荐

  1. Jsp页显示时间标签JSTL标签 <fmt:formatDate/> 实例大全

    <fmt:formatDate value="${isoDate}" type="both"/>2004-5-31 23:59:59 <fmt ...

  2. Cobbler自动化批量安装linux服务器的操作记录

    Cobbler为何物?Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows.该工具使用python开发,小巧轻便(才15k行python代码),使用简单的命 ...

  3. 什么是multipart/form-data请求

    根据http/1.1 rfc 2616的协议规定,我们的请求方式只有OPTIONS.GET.HEAD.POST.PUT.DELETE.TRACE等,那为为何我们还会有multipart/form-da ...

  4. 005医疗项目-模块一:用户的查找:1.用户表查询的sql语句

    这是医疗项目的第一个模块:做一个用户的查询,可以根据用户的账号,用户的名称,单位的名称,用户的类型去查询.要求效果如下:

  5. C语言 结构体中属性的偏移量计算

    //计算结构体偏移量 #include<stdio.h> #include<stdlib.h> #include<string.h> //详解:对于offscfof ...

  6. C语言 链表的创建--打印--逆置--新增--删除--排序--释放

    #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<string. ...

  7. SQLServer 语句-创建索引

    语法:CREATE [索引类型] INDEX 索引名称ON 表名(列名)WITH FILLFACTOR = 填充因子值0~100GO /*实例*/USE 库名GOIF EXISTS (SELECT * ...

  8. python 字符编码练习

    通过下面的练习,加深对python字符编码的认识 # \x00 - \xff 256个字符 >>> a = range(256)>>> b = bytes(a) # ...

  9. 倒戈了,转投简书 -------->

    深情自白 还记得数月前那个月黑风高的晚上,笔主偶遇简书,被那婀娜多姿的Markdown输出深深吸引不能自拔,从此立下毒誓要两边同时发布.然而天有不测风云(这边的太丑),前思后想寝食难安之后作出决定,正 ...

  10. SpringMVC类型转换、数据绑定详解[附带源码分析]

    目录 前言 属性编辑器介绍 重要接口和类介绍 部分类和接口测试 源码分析 编写自定义的属性编辑器 总结 参考资料 前言 SpringMVC是目前主流的Web MVC框架之一. 如果有同学对它不熟悉,那 ...