为了账号安全,请及时绑定邮箱和手机立即绑定

java的static关键字

java的static关键字

古__月 2016-01-08 21:51:18
今天遇到一个很纠结的问题,有人问:有什么方法可以直接通过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);
	}
}

不知道这样算不算符合题意。

查看完整回答
反对 回复 2016-01-08
?
产品经理不是经理

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();
	}
}


查看完整回答
反对 回复 2016-01-09
  • 2 回答
  • 0 关注
  • 1566 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信