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();