发布网友 发布时间:2022-04-22 09:20
共4个回答
热心网友 时间:2022-04-06 00:51
::是静态访问方式,只和类本身相关而和类对象没有关系,所以直接调用是类名::方法名
因为PHP语言本身就是一个不够严谨的语言(或者换句话说,比较灵活),所以当一个方法只要是public(像楼主那样的缺省的也为public类型)并且该方法中没有使用代表对象的$this就可以使用::来调用,php在解析的时候会自动将其以静态方法解析调用。当然在PHP5以后,就引入了static public function func(){}这种方式声明,所以如果在PHP5上,并且报错机制是比较全的话,直接调用一个没有static声明的方法的时候,就会提示一个notic了···
热心网友 时间:2022-04-06 02:09
类::方法 ,是对类的静态属性和方法的直接引用,不需要实例化类而直接使用。
在访问PHP类中的成员变量或方法时,如果被引用的变量或者方法被声明成const(定义常量)或者static(声明静态),那么就必须使用操作符::,反之如果被引用的变量或者方法没有被声明成const或者static,那么就必须使用操作符->。
热心网友 时间:2022-04-06 03:43
:: 是 不需要对象, 可以使用类名 来 直接调用 方法的。
如果 方法里 调用了 该对象的方法或属性 (使用了$this)
那么就不能使用::来 调用这个方法了。
你上面写的代码里的fun() 其实 应该设定为 静态方法。
热心网友 时间:2022-04-06 05:35
静态方法不需要实例类(也就是不用new)就可以调用,定义静态方法用static public function 方法名(){}的方式定义,调用方法 类名::静态方法名