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

為了賬號安全,請及時綁定郵箱和手機立即綁定

返回static類型變量是什么意思

封裝中parseInt()方法與intValue()方法的返回值有何不同,static int返回值是什么意思

正在回答

3 回答

問的問題已經攪和在一起了,建議回看Java基礎的入門第二季。


intValue() 是一個實例方法,也就是說實例化之后的對象才能調用。此方法唯一的作用就是用來手動解包??创朔椒ㄔ创a如下:

public?int?intValue()?{
????????return?value;
????}

作用就是把Integer對象里面的成員變量value的值返回。而即使不用調用這個方法Integer的實例也一樣會把value返回。也就是說下面兩種寫法是完全等價的:

int?a?=?new?Integer(2).intValue();
int?a?=?new?Integer(2);


而跟parseInt()相對應的其實是Integer的含String參數的構造方法。兩者的功能都是把一個字符串轉換成一個int數值,結果是一樣的,然而實現方法略有不同。看下例:

String?s?=?"200";
int?a?=?new?Integer(s);
int?b?=?Integer.parseInt(s);

Integer構造方法實現如下:

public?Integer(String?s)?throws?NumberFormatException?{
????????this.value?=?parseInt(s,?10);
????}

parseInt(String)的實現如下:

public?static?int?parseInt(String?s)?throws?NumberFormatException?{
????????return?parseInt(s,10);
????}

可以看到,兩種方法實際上最終都調用了parseInt(s, 10)這個static方法把字符串轉換成int數值,不同的是前者是在初始化Integer對象的過程中做了一個初始化賦值的操作(賦值給實例變量value),然后自動把integer對象解包成int數值(完整的轉換過程是這樣:int a = new Integer(value).intValue(););而parseInt(s)是使用了Integer類的類方法,直接把得到的int數值賦值給b。


而兩種方法都調用到的parseInt(s, 10);方法是什么?它也是Integer類的一個類方法,內部一系列轉換動作最終返回一個int數值:

public?static?int?parseInt(String?s,?int?radix)
????????????????throws?NumberFormatException
????{
????....
????}


這也就回到最后一個問題,static int返回值是什么,static int方法返回的就是一個int數值。 static限制的是標記的方法或者變量的作用域。

比如一家人一起去超市買東西,每個成員買完東西最后要把所有的東西統一記賬一起結賬。設計這種場景時就可以把購物車設置為static,每個實例(人)都可以修改購物車的內容。

5 回復 有任何疑惑可以回復我~
#1

say意 提問者

非常感謝你的細心講解!
2017-04-07 回復 有任何疑惑可以回復我~

給樓上的樓上點贊

0 回復 有任何疑惑可以回復我~

樓上講的很詳細嘛

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

返回static類型變量是什么意思

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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