首页 >后端开发 >php教程 >OOP中->与::操作符的区别

OOP中->与::操作符的区别

WBOY
WBOY原创
2016-06-23 13:52:43933浏览

OOP中->与::操作符的区别有哪些?度娘不给力,找不到


回复讨论(解决方案)

static关键字修饰的变量,外部调用只能是::
static关键字修饰的方法,外部调用->和::皆可,习惯上用::,静态方法不能操作非静态变量
暂时想到就这些,楼下补充

->是实例调用
::是类中静态方法和静态属性的引用方法


-> 表示对象的成员
:: 作用域分辨运算符。手册中说:在没有声明任何实例的情况下访问类中的函数或者基类中的函数和变量很有用处。而 :: 运算符即用于此情况。
虽然 php 5.3 以后对 :: 的用法做了点限制,但总体并没有太大出入

1.如果function被定义成static 那么访问的时候,直接类名::方法名,静态属性同理。
2.如果只是定义function 方法名(),那么访问的时候,需要实例化类,$p = new xx(); $p->方法名();

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn