首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

刚开始学java今天上课讲了个有关问题不太懂!讲解

2011-12-08 
刚开始学java今天上课讲了个问题不太懂!!请教高手讲解!package pigpublic class Car {private static Car

刚开始学java今天上课讲了个问题不太懂!!请教高手讲解!
package pig;

public class Car {
private static Car car;
public static Car getInstance(){
if(car==null){
car=new Car();
}return car;
}

}


package pig;

public class Test {


public static void main(String[] args) {
  Car car1=Car.getInstance();
  Car car2=Car.getInstance();
  System.out.println(car1==car2);

}

}
红色字那部分实在是不理解,car是一个引用类型变量名,为什么要判断car==null呢?
car==new Car()是不是相当于实例化?
return car返回值返回给谁?
明白的麻烦详细点讲,或者语音也可以,qq号149040935

[解决办法]
car是一个引用类型变量名,为什么要判断car==null呢?
引用类型才能和null进行比较判断,看是否指向了对象,如果没指向任何对象,就是null
car==new Car()是不是相当于实例化?
是的.
return car返回值返回给谁? 
谁调用这个方法就返回给谁
[解决办法]
因为每次调用getInstance都返回一个新对象,所以是 false了。
而用null 判断的时候,只要对象存在了我就不新创建了,这样每次调用得到的是同一个对象。

热点排行