亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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 關注
  • 1618 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號