java的static关键字

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

}


}

坐等各位大神解答!谢谢


古__月
浏览 1579回答 2
2回答

Its_forever

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); } }不知道这样算不算符合题意。

产品经理不是经理

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(); } }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java