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

前端之家收集整理的这篇文章主要介绍了在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.f2er.com/php/136714.html

猜你在找的PHP相关文章