java面向?qū)ο?在Java中同類中的靜態(tài)方法能否調(diào)用類成員變量呢?為什么?
在Java中同類中的靜態(tài)方法能否調(diào)用類成員變量呢?為什么?不,因?yàn)镴ava中的靜態(tài)內(nèi)容是類級(jí)別的,也就是說,它們可以用類名或任何對(duì)象名訪問。無論以何種形式訪問,它們都是同一事物。一般來說,成員變量是指
在Java中同類中的靜態(tài)方法能否調(diào)用類成員變量呢?為什么?
不,因?yàn)镴ava中的靜態(tài)內(nèi)容是類級(jí)別的,也就是說,它們可以用類名或任何對(duì)象名訪問。無論以何種形式訪問,它們都是同一事物。一般來說,成員變量是指對(duì)象層次,即每個(gè)對(duì)象所擁有的成員變量是獨(dú)立的、不同的,屬于對(duì)象本身。與訪問范圍相比,它更為靜態(tài),靜態(tài)可以被任何對(duì)象訪問并且是相同的,成員變量是每個(gè)對(duì)象所擁有的。所以,為什么“靜態(tài)方法不能調(diào)用類成員變量”是因?yàn)橐L問成員變量,必須有一個(gè)“實(shí)例化對(duì)象”。除非在靜態(tài)方法中創(chuàng)建當(dāng)前類的實(shí)例對(duì)象,否則不能直接調(diào)用成員變量,因?yàn)樗恢莱蓡T變量屬于哪個(gè)實(shí)例對(duì)象。在成員方法中,可以確定屬于該成員的所有變量和方法屬于同一個(gè)對(duì)象,這可以用來表示當(dāng)前對(duì)象。