今天遇到一个很纠结的问题,有人问:有什么方法可以直接通过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
提交
取消