java:不能對非靜態(tài)字段 rand 進(jìn)行靜態(tài)引用
1 回答

RISEBY
TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊
靜態(tài)方法不能訪問非靜態(tài)成員(包括靜態(tài)方法和靜態(tài)變量),但非靜態(tài)方法可以靜態(tài)成員和非靜態(tài)成員。
方法或變量加上static聲明就被定義為靜態(tài)成員。
靜態(tài)成員屬于類所有,被類的所有對象共享,它在程序預(yù)編譯期間就能確定。非靜態(tài)成員屬于對象所有,而對象需要在程序運(yùn)行期間分配空間。故在預(yù)編譯期間就能確定的靜態(tài)成員不能訪問需要在程序運(yùn)行時(shí)才能確定的非靜態(tài)成員。
針對你的問題,main是靜態(tài)方法,它只能訪問靜態(tài)成員,所以它可以訪問static的b,不能訪問沒有static聲明的rand,解決方法就是在成員聲明前加static關(guān)鍵字,表明該成員是靜態(tài)成員。
添加回答
舉報(bào)
0/150
提交
取消