时间戳转换工具

    只要在变量前面加一个static,该变量就变成了静态变量,即改变了它的生存期。

static 修饰属性:可以把静态属性初始化为整数或数组,但不能初始化为另一个变量或函数返回值,也不能指向一个对象.

static 修饰方法,可以通过类名访问,如果是修饰的是类的属性,保留值:


static 修饰变量:


在每次调用这个函数的时候,函数都会将$a变量置1,再输出,尽管每次输出后,变量$a都加1了,为了每次都能将$a的值保存起来,我们可以将它声明为static:


static 修饰全局作用域变量: 没有实际意义

调用:静态方法不需要所在类被实例化就可以直接使用。

1.由于静态方法不需要通过对象即可调用,所以伪变量 $this 在静态方法中不可用
2.静态属性不可以由对象通过 -> 操作符来访问
3.调用静态方法 self::static();调用父类静态方法parent::static();
4.调用静态属性self::$somVar

存储:静态方法和静态变量创建后始终使用同一块内存,而使用实例的方式会创建多个内存。  

优缺点:静态方法效率上要比实例化高,静态方法的缺点是不自动进行销毁,而实例化的则可以做销毁。

这边做了一个实验:


这边可以看到静态方法快了一倍,当然写法可以优化:


这边new一次对象,循环一百万次,静态方法还是快一些。虽然工作中不会调用这么多次,在一些底层,公用的地方,工厂模型管理对象,一些固定的属性都是可以定义静态的,效率比较高。



            需要xmind的小伙伴,可以下方留言 ,事后会发送邮件附件 ^-^。

联系我们 - 首页 - 关于我们
Copyright © 2017-2022 iteam. All Rights Reserved. Current version is 2.50.0.
粤ICP备17021424号
VV:49881 UV:186516 PV:560898