在子类中是使用parent::
方法()这种方式访问父类中的方法,但是“::”是用来访问静态的东西,如果这个方法不是静态的,那不就自相矛盾吗,为什么还可以访问?
在php文件的任何位置都可以使用 classname::methodname()
来直接调用类里面公用的方法。个人觉得出现这个情况是因为内存的堆区保存的对象仅保存的是对象的属性,对象的方法任然存放在代码区,为类的成员方法,如果使用对象来调用的类的成员方法里面不含$this的话,此时这个方法和静态数据区存放的静态方法并无明显区别。
即此时对象的成员方法与该对象的静态方法并无明显区别,都并不随着调用对象的不同,而发生不同的变化。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。