1. 程式人生 > >【Java入門系列】static關鍵字

【Java入門系列】static關鍵字

既然 生命 不依賴 影響 能夠 情況下 思想 static 程序

static方法就是沒有this的方法。在static方法內部不能調用非靜態方法,反過來是可以的。而且可以在沒有創建任何對象的前提下,僅僅通過類本身來調用static方法。這實際上正是static方法的主要用途。《java編程思想》

靜態變量

static修飾的變量稱作靜態成員變量,也稱作類變量,類變量的生命周期和類相同,在整個應用執行期間有效。

靜態變量和普通變量的區別:靜態變量被所有的對象所共享,在內存中只有一個副本,僅當在類初次加載時會被初始化;非靜態變量是對象所擁有的,在創建對象的時候被初始化,存在多個副本,各個對象擁有的副本互不影響。

靜態方法

1、static修飾的方法稱作靜態方法,由於靜態方法不依賴於任何對象就可以進行訪問,因此對於靜態方法來說是沒有this的,因為它不依附於任何對象,既然都沒有對象,就談不上this了。2、靜態方法中不能訪問類的非靜態成員變量和非靜態成員方法,因為非靜態成員方法/變量都是必須依賴具體的對象才能夠被調用;但在非靜態成員方法中是可以訪問靜態成員方法/變量。3、如果想在不創建對象的情況下調用某個方法,就可以將這個方法設置為static。最常見的static方法就是main方法,至於為什麽main方法必須是static的,正是因為程序在執行main方法的時候沒有創建任何對象,因此只有通過類名來訪問。

【Java入門系列】static關鍵字