今天遇到一个很纠结的问题,有人问:有什么方法可以直接通过static关键字的使用来实现对某个对象只能new 3次,第四次new的时候得到的对象就是null?各位大神:请问你们有办法吗?我的思路使用的单例模式结合stati关键字来想的,但是问题是这样的话在实例化的时候就不是使用new关键字来实现,而是使用了方法,public class Card { private String password; private String username; public static int count = 1; private static Card card = null; private Card(String username) { } // 写一个创建Card对象的方法 public static Card getCard(String username) { if (count <= 3) { card = new Card(username); count++; return card; } else { System.out.println("第四次执行了"); return null; } }坐等各位大神解答!谢谢
2 回答
已采纳
Its_forever
TA贡献361条经验 获得超328个赞
public class Card {
String name;
static Card card; //静态对象card
public static Card getCard() { //静态方法getCard
card = new Card();
return card;
}
public static void main(String[] args) {
int count = 1;
do {
System.out.println("第"+count+"次调用");
getCard(); //调用3次getCard,new 三次card对象。
System.out.println("第"+count+"次调用结束");
count++;
}while(count <= 3);
System.out.println("第四次调用");
card = null;
System.out.println(card);
}
}不知道这样算不算符合题意。
产品经理不是经理
TA贡献481条经验 获得超143个赞
public class Card{
public static int sum=0;
private Card(){}
public static Card getCard(){
if(Card.sum>2) {
System.out.println("对象实例超过3!");
return null;
}else {
Card.sum++;
return new Card();
}
}添加回答
举报
0/150
提交
取消
