static關鍵字全面理解

來源:互聯網
上載者:User
static關鍵字就是靜態或全域的意思,可以用來修飾類、方法和變數。通常我們會聽到類成員或者靜態變數(就是載入後不會再變化)。當靜態成員載入後就不會再變化,如:String字串,一旦被初始化值就不會再改變。一般在開發中,我們將共有成員用static修飾。

1、 最常見的就是:用來修飾成員變數(將其變為類的成員),e.g.:程式狀態和異常資訊。(這兩個一般是用static和final共同修飾,這個在開發中很常見)。

2、 用來修飾成員方法,將其變為類方法,就可以使用“類型.方法名”調用,常用於工具類。(就是不需要建立對象)

3、 靜態代碼塊,就多個對象放在一起初始化(靜態代碼塊被執行的較早,只在靜態變數之後)

靜態變數

接下來我們說說靜態變數(被static修飾)和執行個體變數(沒有被靜態變數修飾)的不同:

1、 靜態變數:在記憶體中只是一個拷貝,只被初始化一次,只分配一次記憶體,用類型可以直接存取,也可以通過建立對象來訪問。

2、 執行個體變數:被調用需要建立對象,沒建立一次就要分配一次記憶體,在記憶體中可以有多個考培,但相互不影響。

靜態方法

靜態方法可以直接通過類名來調用,執行個體也可以直接調用。因此靜態方法中不能存在super和this關鍵字(如果有不是和耍流氓一樣嗎?執行個體變數和特定對象關聯)。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.