zoukankan      html  css  js  c++  java
  • this,self::,static::的区别

    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(); // 子类

  • 相关阅读:
    优化MyBatis配置文件中的配置
    Java多线程---同步与锁
    Runtime.getRuntime().exec()
    java ---线程wait/notify/sleep/yield/join
    redis配置详情
    httpcline
    线程
    Bootstrap学习(一)
    springmvc注解配置
    salesforce上上传和导出.csv格式文件
  • 原文地址:https://www.cnblogs.com/lisongwei/p/10977210.html
Copyright © 2011-2022 走看看