java中怎么定义一个类使他只能被实例化五次

 我来答
帐号已注销
2008-03-31 · TA获得超过3442个赞
知道小有建树答主
回答量:280
采纳率:0%
帮助的人:463万
展开全部
一个静态计数器就行了

protected static int intInstanceNum = 0;

init函数,注意线程安全

synchronized public boolean init() {
   if (intInstanceNum < 5) {
        intInstanceNum++;
        return true;
    } else {
        return false;
    }
}

构造函数调用 init:
if (!init()) {
    throw ... // any exception you want
}

如果需要的话,可以做一个工厂类,把生成的实例保存起来
等等
需求的进一步变化还是挺多的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wzy415
推荐于2016-06-25 · TA获得超过194个赞
知道小有建树答主
回答量:217
采纳率:0%
帮助的人:260万
展开全部
public class Test{
private Test(){};

private static Test[] test;

public static Test[] getInstance(){
if(test == null){
test = new Test[5];
for(int i = 0;i < test.length; i++){
test[i] = new Test();
}
}
return test;
}
}
这样能满足要求不?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
品盼枫1312
2008-03-31 · TA获得超过280个赞
知道答主
回答量:115
采纳率:0%
帮助的人:0
展开全部
假设类型为A

A[] as = new A[5];
int i = 0;

public A getInstance(){
i = (i++)%5;
if(A[i] == null){
A temp = new A();A[i] = temp;}
return A[i];
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冷已
2008-03-31 · TA获得超过3540个赞
知道小有建树答主
回答量:336
采纳率:0%
帮助的人:0
展开全部
3楼正解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
扬自飞扬
2008-03-31 · TA获得超过369个赞
知道小有建树答主
回答量:313
采纳率:0%
帮助的人:0
展开全部
什么需求?!mark。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式