3 回答

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超10個(gè)贊
因?yàn)?code>this是指對(duì)象實(shí)例。在靜態(tài)方法的調(diào)用中沒(méi)有對(duì)象實(shí)例。但是當(dāng)然你可以訪問(wèn)靜態(tài)字段(只有靜態(tài)字段?。?。只是用
class Sub { static int y; public static void foo() { y = 10; }}
如果要確保獲取靜態(tài)字段y
而不是某個(gè)具有相同名稱的局部變量,請(qǐng)使用類名指定:
class Sub { static int y; public static void foo(int y) { Sub.y = y; }}

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊
我們不能在靜態(tài)方法上下文中使用“this”的主要原因: -
這個(gè): - “this”表示當(dāng)前的類OBJECT,所以很明顯,只要我們打算創(chuàng)建該類的Object,“this”才會(huì)出現(xiàn)在圖片中。
靜態(tài)方法: - 不需要?jiǎng)?chuàng)建對(duì)象以使用靜態(tài)方法。根據(jù)Java規(guī)則,“實(shí)例”或?qū)ο髣?chuàng)建對(duì)“靜態(tài)”沒(méi)有任何意義。
所以如果我們同時(shí)使用它們(靜態(tài)和這個(gè))會(huì)有矛盾。這就是我們不能在靜態(tài)方法中使用“this”的原因。
添加回答
舉報(bào)