微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在PHP中,为什么我能够以静态方式访问非静态方法?

在以下代码中,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级别警告,这意味着此魔法能力可能会在将来的版本中消失.所以不要这样做:)

原文地址:https://www.jb51.cc/php/136714.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐