static跟self的使用区别

PHP中static 和self的使用区别

class A {
   public static function who() {
       echo __CLASS__;
   }
   public static function test() {
       self::who();
//        static::who();
   }
}
A::test();

class B extends A {
   public static function who() {
       echo __CLASS__;
   }
}
echo B::test();

如果使用关键字self运行结果:   A A

如果使用关键字static运行结果:A B

static:父类访问了子类的静态方法

self: 是类内指针,指向本类,静态方法,属性

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据