如何设计一个类,使其创建对象的个数不能超过3个?

本文探讨了设计模式中的单例模式,并介绍了一种控制类实例化对象数量的方法。通过将构造方法设为私有并引入计数器,确保类的实例不超过设定的数量,演示代码展示了如何限制Car类实例化对象的数量不超过三个。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

设计模式中有个单例模式,通过把构造方法设计为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;
	}
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值