java中类与对象的问题

设计一个带有实例计数器的类,该类最多只允许创建3 次对象实例,如果创建过

多的对象实例则在屏幕上打印出错信息。用一个main()方法演示该类的用法。(提示:引入
静态数据成员instanceCount 使同一类的对象实例之间可共享信息;题目仅要求约束创建对
象实例的次数不超过3 次,并未限制当前正在使用的对象实例仅有3 个。)

class CountClass{
static public int sum=0;
private CountClass(){
}
static public CountClass getCountClass(){
if(CountClass.sum>2) {
System.out.println("对象实例超过3!");
return null;
}
else {
CountClass.sum++;
return new CountClass();
}
}

static public void main(String[] str){
CountClass s1=CountClass.getCountClass();
System.out.println(CountClass.sum+" "+s1);
CountClass s2=CountClass.getCountClass();
System.out.println(CountClass.sum+" "+s2);
CountClass s3=CountClass.getCountClass();
System.out.println(CountClass.sum+" "+s3);
CountClass s4=CountClass.getCountClass();
System.out.println(CountClass.sum+" "+s4);
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-11-24
public class Text {

static int instanceCount = 0;

Text() {
instanceCount++;
if(instanceCount > 3) {
try {
throw new TextException();
} catch(Exception e) {
System.out.println("这个类已经实例化超过3次");
}
}

}

public static void main(String args[]) {

Text t = new Text();
Text t1 = new Text();
Text t2 = new Text();

}
}

class TextException extends Exception {}
第2个回答  2009-11-24
把那个类的一个变量设置成static的就行 然后在里面写个
public static int i=0;
i++
if(i>3){
System.out.println("err");
break;
}
相似回答