java中類變量和實(shí)例變量的實(shí)質(zhì)區(qū)別?

類變量和實(shí)例變量的區(qū)別

相對(duì)于static(靜態(tài)的)或說類的, 本章開始提到的都是instance(實(shí)例的)或說對(duì)象的。 每個(gè)對(duì)象都有自己的一份兒對(duì)象域或?qū)嵗?,相互之間沒關(guān)系, 不共享?!∥覀兛梢詮膶?duì)象中訪問實(shí)例變量。



類變量或說靜態(tài)變量跟實(shí)例變量是不一樣的,不管創(chuàng)建了多少個(gè)對(duì)象,系統(tǒng)只為每個(gè)類變量分配一次存儲(chǔ)空間。系統(tǒng)為類變量分配的內(nèi)存是在執(zhí)行main方法時(shí)馬克-to-win, 就是在程序最最開始的時(shí)候(見下面StaticDemo的例子)。所有的對(duì)象共享了類變量??梢酝ㄟ^對(duì)象或者通過類本身來(lái)訪問類變量。