<?php 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(); //private 構造函數,這裏不容許直接實例化對象 $car = Car::getInstance(); //經過靜態方法來得到一個實例 /*** * 若是構造函數定義成了私有方法,則不容許直接實例化對象了,這時候通常經過靜態方法進行實例化, * 在設計模式中會常用這樣的方法來控制對象的建立,好比單例模式只容許有一個全局惟一的對象。 */ ?>