php中::的使用问题?
程序员文章站
2024-01-07 18:15:16
...
在子类中是使用parent::方法()这种方式访问父类中的方法,但是::是用来访问静态的东西,如果这个方法不是静态的,那不就自相矛盾吗,为什么还可以访问?
回复内容:
在子类中是使用parent::方法()这种方式访问父类中的方法,但是::是用来访问静态的东西,如果这个方法不是静态的,那不就自相矛盾吗,为什么还可以访问?
在php文件的任何位置都可以使用 classname::methodname()来直接调用类里面公用的方法。个人觉得出现这个情况是因为
内存的堆区保存的对象仅保存的是对象的属性,对象的方法任然存放在代码区,为类的成员方法,如果使用对象来调用的类的成员方法里面不含$this的话,此时这个方法和静态数据区存放的静态方法并无明显区别。即此时对象的成员方法与该对象的静态方法并无明显区别
都并不随着调用对象的不同,而发生不同的变化。
并且成员方法本身就是在类中定义的,就是老爸和儿子的关系,区别就是一个是自己老婆生的(静态方法),另外一个是和别人老婆生的(成员方法),别人老婆生的那个儿子就管其他人叫老爸了。某一天那个私生的儿子了解情况了(无$this)。便会叫两人叫爸了。
此时便可以使用classname::methodname()
抄C++的。
推荐阅读
-
php 删除数组中的元素
-
PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子_PHP教程
-
php中::的使用问题?
-
求大神指点linux上安装PHP需要的一些库的有关问题
-
HTML5关于上传API的一些使用(中)_html/css_WEB-ITnose
-
NUMERIC和DECIMAL区别 PHP表单验证的3个函数ISSET、empty、is_numeric的使用方法
-
几个php基础但是书下没找到的有关问题
-
代码-mysql中字段为text类型使用mybatis的Criteria查询无法进行封装
-
php5中$_SERVER变量不再受magic_quotes_gpc保护的替代方法
-
php中的extract函数应用_PHP教程