首页 » PHP » 正文

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: 是类内指针,指向本类,静态方法,属性

发表评论