问答详情
源自:2-6 PHP类和对象之Static静态关键字

静态方法中可以调用非静态属性么?

class Car {

    private static $speed = 10;   

    public $name = '汽车';//这里多了一个共有属性

    public function getSpeed() {

        return self::$speed;

    }   

    //在这里定义一个静态方法,实现速度累加10

    public static function speedUp(){

        //这里能调用上面共有属性name么

        return self::$speed += 10;   

    }

}

比如这个案例,我在里面添加一个共有属性$name,我在静态方法中能调用这个共有属性么,如果可以,怎么调用?

提问者:月下风物语 2016-12-02 10:57

个回答

  • Miracle_H
    2016-12-02 12:00:11
    已采纳


    public static function speedUp(){

        $car = new Car();

        echo $car->name;

        return self::$speed += 10;

    }

    这样不就调用了$name

  • 精慕门2512662
    2016-12-02 11:55:30

    $this->name 

  • 慕码人4138064
    2016-12-02 11:48:54

    肯定可以