new新的开始
2017-02-14 20:37
class Car {
private function __construct() {
echo 'object create';
}
private static $_object = null;
public static function getInstance() {
if (empty(self::$_object)) {
self::$_object = new Car(); //内部方法可以调用私有方法,因此这里可以创建对象
}
return self::$_object;
}
}
//$car = new Car(); //这里不允许直接实例化对象
$car = Car::getInstance(); //通过静态方法来获得一个实例
这里必须用静态方法,如果是非静态方法的话必须通过将类实例化成一个对象后才能够调用,而这里的构造函数又被设置成private权限,无法在外部直接实例化,所以必须设置为静态才能实现代码的功能。
$car = Car::getInstance() 这个语句是调用静态方法的,你这么设置就没法调用了
PHP进阶篇
181835 学习 · 2577 问题
相似问题
回答 3
回答 1