PHP中类静态调用和范围解析操作符的区别

 我来答
greystar_cn
2018-01-12 · 知道合伙人软件行家
greystar_cn
知道合伙人软件行家
采纳数:16407 获赞数:17260
本人主要从事.NET C#方向的技术开发工作,具有10多年的各类架构开发工作经验。

向TA提问 私信TA
展开全部

范围解析操作符(::)

一对冒号,用于访问静态成员和类常量,还可以用于访问类中被覆盖的属性和方法(手册写的是可以用于覆盖类中的属性和方法,我感觉应该是我的说法更好些)

static关键字

声明类属性或者方法为静态,可以不实例化类直接调用。

伪变量 $this 在静态方法中不可用,具体原因是因为静态方法会在实例化类之前就放在内存里面了,所以就没有$this。也就是说静态方法不能访问非静态的变量,但非静态方法可以访问静态变量。

静态属性和方法通过类名::属性/方法名来调用。

一般静态属性用来保存类的共有数据。

在本类内部通过self::$my_static或者static::$my_static访问静态属性。

静态方法和非静态方法的重要区别是静态方法不需要创建对象就可以访问。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式