今天遇到一個很糾結(jié)的問題,有人問:有什么方法可以直接通過static關(guān)鍵字的使用來實現(xiàn)對某個對象只能new 3次,第四次new的時候得到的對象就是null?各位大神:請問你們有辦法嗎?我的思路使用的單例模式結(jié)合stati關(guān)鍵字來想的,但是問題是這樣的話在實例化的時候就不是使用new關(guān)鍵字來實現(xiàn),而是使用了方法,public class Card { private String password; private String username; public static int count = 1; private static Card card = null; private Card(String username) { } // 寫一個創(chuàng)建Card對象的方法 public static Card getCard(String username) { if (count <= 3) { card = new Card(username); count++; return card; } else { System.out.println("第四次執(zhí)行了"); return null; } }坐等各位大神解答!謝謝
2 回答
已采納

Its_forever
TA貢獻361條經(jīng)驗 獲得超328個贊
public?class?Card?{ String?name; static?Card?card;???????????????//靜態(tài)對象card public?static?Card?getCard()?{??//靜態(tài)方法getCard card?=?new?Card(); return?card; } public?static?void?main(String[]?args)?{ int?count?=?1; do?{ System.out.println("第"+count+"次調(diào)用"); getCard();???????//調(diào)用3次getCard,new?三次card對象。 System.out.println("第"+count+"次調(diào)用結(jié)束"); count++; }while(count?<=?3); System.out.println("第四次調(diào)用"); card?=?null; System.out.println(card); } }
不知道這樣算不算符合題意。

產(chǎn)品經(jīng)理不是經(jīng)理
TA貢獻481條經(jīng)驗 獲得超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
提交
取消