| 一、 static代表著什么在Java中并不存在全局變量的概念,但是我們可以通過static來實現(xiàn)一個“偽全局”的概念,在Java中static表示“全局”或者“靜態(tài)”的意思,用來修飾成員變量和成員方法,當(dāng)然也可以修飾代碼塊。 Java把內(nèi)存分為棧內(nèi)存和堆內(nèi)存,其中棧內(nèi)存用來存放一些基本類型的變量、數(shù)組和對象的引用,堆內(nèi)存主要存放一些對象。在JVM加載一個類的時候,若該類存在static修飾的成員變量和成員方法,則會為這些成員變量和成員方法在固定的位置開辟一個固定大小的內(nèi)存區(qū)域,有了這些“固定”的特性,那么JVM就可以非常方便地訪問他們。同時如果靜態(tài)的成員變量和成員方法不出作用域的話,它們的句柄都會保持不變。同時static所蘊含“靜態(tài)”的概念表示著它是不可恢復(fù)的,即在那個地方,你修改了,他是不會變回原樣的,你清理了,他就不會回來了。 同時被static修飾的成員變量和成員方法是獨立于該類的,它不依賴于某個特定的實例變量,也就是說它被該類的所有實例共享。所有實例的引用都指向同一個地方,任何一個實例對其的修改都會導(dǎo)致其他實例的變化。 
 二、 怎么使用staticstatic可以用于修飾成員變量和成員方法,我們將其稱之為靜態(tài)變量和靜態(tài)方法,直接通過類名來進行訪問。 
 作者:chenssy | 
|  |