一直搞不清楚,今天百度自己也测试了一下。

<?php
class A {
    public static function closure(){
        echo __CLASS__."<br/>";
    }
    public static  function call_self(){
        static::closure();
    }
    public static function call_static(){
        self::closure();
    }
}

class B extends A {
    public static function closure(){
        echo __CLASS__."<br/>";
    }
}

A::call_self();//A
A::call_static();//A

B::call_self();//A
B::call_static();//B

百度是这样说的:

self是类内指针,指针是指向自己的属性,方法。

static是代表使用了A类,如果在子类重写了父类的方法和属性,那么就调用子类的方法和属性

相关文章:

  • 2022-12-23
  • 2021-08-04
  • 2022-01-15
  • 2021-07-29
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-06-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-03
  • 2021-06-11
相关资源
相似解决方案