静态变量、方法

static 变量---所有对象共享一个变量(全局变量区),无需构造---概念上和.net相同


所有对象共享一个变量的实质:
声明时:堆区存放一个地址,地址指向全局变量区。然后当类对象声明时,只是在堆区中为自身添加该地址。
全局变量:声明和调用全局变量----global $global_num=0;
(面向对象:注重封装(装入实体类),无全局变量)
面向对象的累加问题
1.全局变量
2.静态变量:和全局变量本质上没有区别,只是只能被类引用,体现了封装性。
类中访问方法
self::静态变量 或者 类名::静态变量
类外访问方法
类名::静态变量

类内部使用this,类外部使用对象实例访问静态变量都是错误。---和.net相同


static 方法--用于操作类内静态变量(约定俗成)
不能访问非静态变量----逻辑上讲不通
类内访问:
类名::方法名 或者类的实例名->方法名 ---和.net不同
类外访问
类名::方法名 或者self::方法名


实例变量,普通变量,实例方法,


静态方法:节省内存,速度快(原因提前加载)。

posted @ 2014-03-02 16:42  曹桦伟  阅读(178)  评论(0编辑  收藏  举报