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

这两个方法一样的效果??

Car::speedUp();  //调用静态方法加速
echo $car->getSpeed();//调用共有方法输出当前的速度值

还是说上面是静态的方法加速 下面的是动态的方法加速

还是说共有方法指得是 无论是静态还是动态都可以调用??还是说无关静态和动态


提问者:趣途不过百里 2017-04-08 17:06

个回答

  • 慕雪5265399
    2017-04-08 17:52:45
    已采纳

    这两个方法的效果肯定不一样:一个是不需要实例化,直接调用类的静态方法,进行速度加10;

    另一个是通过实例化Car类,然后调用该类的共有方法getSpeed()获得当前的速度;

    1、Car::speedUp()是调用Car类中speedup静态方法,通过该方法使得speed加上10;

    注意:类的静态方法是不允许进行实例化的,若要调用类的静态方法或者是属性可通过类名::方法名的形式进行调用,例如Car::speedUp();

    2、$car->getSpeed()是调用Car类中的共有方法getSpeed();通过该方法获得当前的速度,然后进行输出,此时的速度为20;