Java的static關鍵字

2021-08-15 17:34:20 字數 778 閱讀 3907

static 顧名思義是靜態的意思。與this相對,static表示所修飾的部分是屬於類本身所有的,不依賴與某個具體的例項。this表示的是對呼叫方法的那個當前物件的引用,可以看做是類的例項的引用,依賴於具體的例項。

static方法就是沒有this的方法。在static方法內部不能呼叫非靜態方法,反過來是可以的。而且可以在沒有建立任何物件的前提下,僅僅通過類本身來呼叫static方法。這實際上正是static方法的主要用途。

static 變數

static變數就是靜態的成員變數,所謂靜態變數就是靜態變數是歸類本身所有,被所有物件所共享,在記憶體中只有乙個副本。而非靜態的就是每個物件所有,在記憶體中有多個副本,每個物件的副本互不影響。

static 方法

static 方法和static 變數的使用目的是一致的,一般用來不通過建立物件來使用方法,用來做工具類的方法。如我們可以把處理字串的操作的方法統一放到乙個固定類裡面,我們呼叫的時候,只需要通過類名、方法名就可以,省去每次建立物件浪費的記憶體。

static 初始化塊

當我們需要生成很多物件的時候,每次都需要執行構造方法,如果我們的構造方法中,有一些**是不依賴引數的,我們就可以把這些**提取出來,放到同乙個地方。這個地方我們稱之為初始化塊。

總結static 是與類相關的乙個關鍵字,所修飾的部分表明該部分是歸類所有。比如static修飾變數就表明該變數是靜態變數,被所有物件所共享,被類所擁有。static修飾方法,與變數時一致的,只是在靜態方法中是不允許呼叫非靜態的變數和方法。而靜態**塊是比較特殊的存在,用來初始化一些共有的東西,在類被載入時只執行一次。

static關鍵字 java關鍵字

先按照宣告順序初始化基類靜態變數和靜態 塊,接著按照宣告順序初始化子類靜態變數和靜態 塊,而後按照宣告順序初始化基類普通變數和普通 塊,然後執行基類建構函式,接著按照宣告順序初始化子類普通變數和普通 塊,最後執行子類建構函式。import static com.test.test1.fu.say i...

Java的static關鍵字

基本概念static關鍵字可以修飾成員變數和成員方法表示隸屬於類層級,推薦使用類名.的方式 使用方式 1 對於非靜態的成員方法來說,既可以訪問非靜態的成員也可以訪問靜態的成員。成員 成員變數 成員方法 2 對於靜態的成員方法來說,只能訪問靜態的成員不能訪問非靜態的成員。執行靜態方法可能還沒有建立物件...

java的static關鍵字

一.static的使用場景 當在定義類的時候,類中都會有相應的屬性和方法。而屬性和方法都是通過建立本類物件呼叫的。當在呼叫物件的某個方法時,這個方法沒有訪問到物件的特有資料時,方法建立這個物件有些多餘。可是不建立物件,方法又呼叫不了,這時就會想,那麼我們能不能不建立物件,就可以呼叫方法呢?為了解決上...