PHP中类静态调用和范围解析操作符的区别
2018-01-12 · 知道合伙人软件行家
关注
展开全部
范围解析操作符(::)
一对冒号,用于访问静态成员和类常量,还可以用于访问类中被覆盖的属性和方法(手册写的是可以用于覆盖类中的属性和方法,我感觉应该是我的说法更好些)
static关键字
声明类属性或者方法为静态,可以不实例化类直接调用。
伪变量 $this 在静态方法中不可用,具体原因是因为静态方法会在实例化类之前就放在内存里面了,所以就没有$this。也就是说静态方法不能访问非静态的变量,但非静态方法可以访问静态变量。
静态属性和方法通过类名::属性/方法名来调用。
一般静态属性用来保存类的共有数据。
在本类内部通过self::$my_static或者static::$my_static访问静态属性。
静态方法和非静态方法的重要区别是静态方法不需要创建对象就可以访问。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询