问答详情
源自:2-7 PHP类和对象之访问控制

这里有点蒙。。。

private static $_object = null;
   public static function getInstance() {
       if (empty(self::$_object)) {
           self::$_object = new Car(); //内部方法可以调用私有方法,因此这里可以创建对象
       }
       return self::$_object;
   }
}
这一段代表什么意思?

提问者:Jesuer 2015-08-26 20:28

个回答

  • 关于淡淡的淡淡的
    2015-08-26 22:18:42
    已采纳

    首先静态方法getInstance() 中的 

     if (empty(self::$_object))  

      //self::$_object  这是调用上面定义的私有静态属性,empty是判断是否为null,是的话返回true 

     self::$_object = new Car();  

    //调用上面定义的私有静态属性(不是叫方法,叫私有静态成员也行),实例化Car()类

    return self::$_object;       //然后返回实例化后的对象

    最后这个方法意思是实例化Car()类并返回,如果已经实例化过了就直接return 出去