php中双冒号什么意思【转】

一,当调用静态属性和静态方法时

::->的作用相同,只不过使用的对象不一样!::引用类里面的静态方法或者属性,而且不需要实例化!

建立一个类,并且建立一个静态属性$a,一个静态方法b,如下:

class test {

    static public $a;
    static public function b() {}
}

如果要调用静态属性$a,如下

test::$a;

注意,a前面需要带$符号,这一点与->符号不一样!

如果要调用静态方法b,如下

test::b();

二,当调用自身类或者父类的属性或者方法时

首先建立一个父类

class test {
    public function b() {}
}

然后建立一个子类继承父类

class tests extends test {
    public function cs() {}
}

当我们需要调用父类的方法b时

parent::b();

当我们需要调用自身的方法cs时,有两种方法

$this->cs();
self::cs();

文章转自:https://www.php.cn/php-ask-448039.html

原文地址:https://www.cnblogs.com/KillBugMe/p/13230742.html