第一种情况
双冒号 :: 操作符被称为域操作符(scope operator),含义和用法如下:
1.在类外部声明成员函数。void Point::Area(){};
1.类中 静态方法和静态属性的引用方法
例如class Test{
public static $test = 1;
public static function test(){
}
}
可以不用实例化对象直接使用 Test::$test 来取得$test属性的值
静态方法调用也同理Test::test(); 直接调用静态方法test
2.两个冒号(::)是对类中的方法的静态引用
也就是不需要实例化对象,直接通过类名对类中的方法进行引用
第二种情况
调用父类的构造函数:
class A {
public $name; //名字
function __construct($name){ //构造函数
$this->name = $name;
}
function test(){
echo $this->name;
}
}
//派生类
class B extends A{
function __construct(){
parent::__construct("测试"); //调用或者说继承父类的构造函数:
self::test();
}
}
$b = new B();
进行更多交流
微信扫描关注“公众号”