在PHP中,为什么我能够以静态方式访问非静态方法?
发布时间:2020-12-13 13:15:43 所属栏目:PHP教程 来源:网络整理
导读:在以下代码中,nonStatic()不是静态方法.即使这样,我也可以在不创建对象的情况下访问它(以静态方式).任何人都可以帮助我理解,因为这在 Java等其他语言中是不可能的吗? ?phpclass MyClass{ function nonStatic() { echo "This can be printed"; }}MyClass::no
在以下代码中,nonStatic()不是静态方法.即使这样,我也可以在不创建对象的情况下访问它(以静态方式).任何人都可以帮助我理解,因为这在
Java等其他语言中是不可能的吗?
<?php class MyClass { function nonStatic() { echo "This can be printed"; } } MyClass::nonStatic(); // This can be printed
不确定,可能是一些PHP魔术(有时候有点像),但你不应该这样做.
在这里阅读更多http://php.net/manual/en/language.oop5.static.php 他们也展示了一个类似的例子,但请注意: 静态调用非静态方法会生成E_STRICT级别警告,这意味着此魔法能力可能会在将来的版本中消失.所以不要这样做:) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |