设计模式中有个单例模式,通过把构造方法设计为private,另外提供了一个方法来控制这个类只能由一个实例化对象。对于这题,也可以参考单例模式的实现方法,在类中加一个计数器来记录实例化对象的个数,从而有效地控制实例化对象的个数,实现代码如下:
package InterView;
public class SingerClass {
public static void main(String[] args) {
Car car1=Car.getInstance();
Car car2=Car.getInstance();
Car car3=Car.getInstance();
Car car4=Car.getInstance();
System.out.println(car1.hashCode());
System.out.println(car2.hashCode());
System.out.println(car3.hashCode());
System.out.println(car4.hashCode());
}
}
class Car{
private static Car object;
public static int objCount=0;
private Car() {
objCount++;
}
public static Car getInstance() {
if(objCount<3) {
object=new Car();
}else {
System.out.println("对象创建超过3个了,使用上一次创建出的对象");
}
return object;
}
}