class A { private function __construct(){ throw new Exception(); } public function A(){ return array('a','b','c'); } public static function I() { return new A(); } }