【Java基礎】 static。本站提示廣大學習愛好者:(【Java基礎】 static)文章只能為提供參考,不一定能成為您想要的結果。以下是【Java基礎】 static正文
static
static表示“全局”或者“靜態”的意思,用來修飾成員變量和成員方法,也可以形成靜態static代碼塊,但是Java語言中沒有全局變量的概念。被static修飾的成員變量和成員方法獨立於該類的任何對象。也就是說,它不依賴類特定的實例,被類的所有實例共享。只要這個類被加載,Java虛擬機就能根據類名在運行時數據區的方法區內定找到他們。因此,static對象可以在它的任何對象創建之前訪問,無需引用任何對象。可以直接用.來訪問它的成員變量和成員方法。
static變量
static修飾的變量叫做靜態變量,沒有被static修飾的變量叫做實例變量。
兩者的區別是:對於靜態變量在內存中只有一個拷貝,JVM只為靜態分配一次內存,在加載類的過程中完成靜態變量的內存分配,可以用類名直接訪問,也可以通過對象來訪問。對於實例變量,每創建一個就會分配一次內存,實例變量可以在內存中有多個拷貝,互不影響。
static方法
static修飾的方法叫做靜態方法,靜態方法可以通過類名調用,任何的實例都可以調用。因為他在類加載的時候就存在了,它不依賴於任何實例,所以static方法必須實現,也就是說他不能是抽象方法。
static代碼塊
static代碼塊也叫做靜態代碼塊,在類加載的時候就會運行這些靜態的代碼塊。
static限制