php类里面成员属性和成员方法命名的问题

原创
2016-06-06 20:33:57 931浏览

class A {
    static $a =123;

    static function a() {
        echo self::$a;
    }
}

$a = new A;
$a -> a();

访问时候会提示Fatal error: Constructor A::a() cannot be static in C:\AppServ\www\test.php on line 48

把方法名改成b()访问就行了,这是为什么?搞不明白

回复内容:

class A {
    static $a =123;

    static function a() {
        echo self::$a;
    }
}

$a = new A;
$a -> a();

访问时候会提示Fatal error: Constructor A::a() cannot be static in C:\AppServ\www\test.php on line 48

把方法名改成b()访问就行了,这是为什么?搞不明白

与类名同名的成员方法等同于构造方法 __construct。而构造方法不允许为static

另外,static属性的成员方法,建议静态调用而非实例化后调用。直接A::b()即可

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。