3 回答

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超5個(gè)贊
當(dāng)你有一個(gè)與字段同名的參數(shù)時(shí),你應(yīng)該使用它,否則你會(huì)遇到問(wèn)題。它會(huì)編譯,但不一定會(huì)按你的意愿行事。
至于其他地方,除非為了可讀性而需要它,否則不要使用它。如果你到處使用它,你的代碼中有20%將包含'this'這個(gè)詞!

TA貢獻(xiàn)1725條經(jīng)驗(yàn) 獲得超8個(gè)贊
其實(shí)
baz = baz
會(huì)提出這個(gè)警告
對(duì)變量baz的賦值無(wú)效
所以你認(rèn)為錯(cuò)誤,本地范圍覆蓋了class屬性,所以你必須使用this
關(guān)鍵字explictly將變量賦值給class屬性。
否則,賦值為賦值的變量只是作為參數(shù)傳遞的變量,而忽略了第一類(lèi)。這就是為什么this
有用,它不是可讀性的事實(shí),它是明確決定baz
你在談?wù)撃膫€(gè)事實(shí)。
我會(huì)說(shuō)
使用
this
的地方不使用會(huì)引起歧義(或編譯器警告,這是更重要的),否則見(jiàn)好就收吧。因?yàn)樗哪康恼窃谀J(rèn)假設(shè)(首先檢查本地,然后檢查類(lèi)屬性)是不夠的時(shí)候解決歧義。
添加回答
舉報(bào)