Es para que no hagan instancias directas de esa clase.  y ya de paso vi que tengo un error de implementan al usar las variables estáticas te dejo el fragmento de código corregido.
   
Código PHP:
Ver original- class DataBaseObject { 
-   private static $instance = null; 
-   
-   public static function getInstance() { 
-      if(self::$instance === null) { 
-         self::$instance = new mysqli($servidor,$usuario,$clave,$db); 
-      } 
-   
-      return self::$instance; 
-   } 
-   
-   private function __construct() {} 
-   private function __clone() {} 
-   
- } 
-   
-  //para usar 
-   $db = DataBaseOBject::getInstance(); 
-   $db->query(); 
-   //....