self::

  代表当前类,可访问类内静态属性、静态方法、非静态方法和常量。但不能访问非静态属性

  访问方式:self::[静态属性|静态方法|非静态方法|常量],如self::$a      (self不带$,变量带$)

this

  代表当前类对象,不可访问类内静态属性、静态方法和常量。

  访问方式:$this->[变量|方法],如$this->a  (this带$,变量不带$)

  

static::

  与self::相比,self::代表调用的方法是对象被实现的类(子类),而static::调用的是基类(父类)

<?php
  class Person{
    public static function name(){
      echo '父类'.'<br>';
    }
    public static function callself(){
      self::name();
    }
    public static function callstatic(){
      static::name();
    }
  }

  class Man extends Person{
    public static function name(){
      echo '子类'.'<br>';
    }
  }
  
  Man::callself();  // 父类
  Man::callstatic(); // 子类

 

相关文章:

  • 2019-10-26
  • 2021-05-19
  • 2021-11-04
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2018-06-15
  • 2021-11-03
  • 2021-06-11
  • 2022-12-23
相关资源
相似解决方案