static相關用法

2021-07-31 00:01:05 字數 1226 閱讀 3817

先看一段程式

public

class staticclass

//靜態變數

public

static

int a = 1; //共有

private

static

int e = 1; //本類私有

protected

static

int f = 1; //子類以及包下共有

static

int g = 1; //包下共有

//靜態常量

final static

int b = 2; //常量,存放在常量池,外部引用時,值直接為2,無須載入該類

//靜態內部類,只有這種類才可以用static修飾

private

static

class people

//static修飾方法,表明方法為類方法,可直接通過類獲取

public

static staticclass getinstance()

//例項方法,只能例項化後獲取

public

void

sayhello()

}

通過**可以看到以及推導出:

1.static可以修飾方法,變數,類。均可新增private、protected、public等修飾符進行訪問控制。但區別在於static修飾類只能是內部類。

2.static表示類變數,通過類名直接訪問。

3.static**塊只在類載入時候執行一次,所以自然而然就會想到static**塊可以代替構造器進行初始化工作,而且static**塊的優先順序高於構造器,構造器執行時只是在例項化的時候執行。

4.靜態變數的初始化工作也是在類載入的時候完成。類載入分為(載入、驗證、準備、連線、初始化、使用、解除安裝)幾個部分,準備階段首先初始化靜態變數,但並沒有賦值,在初始化階段進行賦值運算,因此**中可以做到變數先賦值後宣告。

5.final與static修飾的變數是常量,對於常量,編譯器在編譯時直接使用值代替變數

6.靜態方法只能使用靜態變數,而例項變數可以訪問靜態變數。靜態變數可以稱為全域性變數(public),例項變數可以理解為區域性變數,全域性變數是不允許訪問區域性變數的。就好像公家的東西你可以用,但是你個人的東西不會允許被公用吧!

static用法小結

static關鍵字是c,c 中都存在的關鍵字,它主要有三種使用方式,其中前兩種只指在c語言中使用,第三種在c 中使用 c,c 中具體細微操作不盡相同,本文以c 為準 1 區域性靜態變數 2 外部靜態變數 函式 3 靜態資料成員 成員函式 下面就這三種使用方式及注意事項分別說明 一 區域性靜態變數 在...

static用法總結

static static關鍵字是c,c 中都存在的關鍵字,它主要有三種使用方式,其中前兩種只指在c語言中使用,第三種在c 中使用 c,c 中具體細微操作不盡相同,本文以c 為準 1 區域性靜態變數 2 外部靜態變數 函式 3 靜態資料成員 成員函式 下面就這三種使用方式及注意事項分別說明 一 區域...

static用法小結

static關鍵字是c,c 中都存在的關鍵字,它主要有三種使用方式,其中前兩種只指在c語言中使用,第三種在c 中使用 c,c 中具體細微操作不盡相同,本文以c 為準 1 區域性靜態變數 2 外部靜態變數 函式 3 靜態資料成員 成員函式 下面就這三種使用方式及注意事項分別說明 一 區域性靜態變數 在...