黑馬程式設計師 靜態方法和靜態類

2022-02-22 15:02:35 字數 1263 閱讀 1842

靜態方法

靜態       

例項(非靜態)

static關鍵字

不需要static關鍵字

使用類名呼叫

使用例項物件呼叫

在靜態方法中可以訪問靜態成員

在例項方法中:可以直接訪問靜態成員

在靜態方法中,不可以直接訪問例項成員,需要建立物件,通過物件呼叫

在例項方法中,可以直接訪問例項成員

呼叫前初始化

例項化物件時初始化

class

myclass

public

void

func()

//以下為靜態成員

public

static

intnum1;

static myclass()//

靜態構造方法只呼叫一次,在第一次建立物件的時候呼叫

public

static

void

func1()

}class

program

}

程式雲執行時,記憶體分為三大模組。第乙個模組是執行緒棧記憶體(方法執行時使用的記憶體),第二個模組是託管堆記憶體,第三個模組靜態儲存區,專門儲存靜態資料,從開始建立到程式執行結束的時候才釋放資料。

所以靜態區是指支撐整個程式執行時的一些方法或字段資料等需要一直駐留在記憶體中,使用一塊靜態儲存區存放這些資料。從第一次訪問這個類開始建立物件,只會建立一次,並在程式結束後才會釋放。我們在開發的時候,盡量少用靜態字段,而採用靜態方法,因靜態字段一直占用記憶體,很容易讓程式崩潰掉。

例子:calss programe{

static  listls=new list();

static void main(string args){

int i=0;

while(i++>=0){

s.add("0000000000");

執行後,程式崩潰,電腦藍屏了。

靜態構造方法

靜態構造方法初始化靜態字段,靜態構造方法也叫類的構造方法。整個程式的執行,會首先執行類的靜態構造方法。然後才會執行例項的構造方法。靜態構造方法只執行一次。

靜態類語法:用static關鍵字表示靜態類,

static class 類名{

注意事項:靜態類中只能定義靜態成員 靜態類中只能有乙個靜態建構函式

為什麼要有靜態類:因某些功能需要頻繁的呼叫,如果每次呼叫都建立物件,則會消耗資源,需要頻繁呼叫垃圾**器,造成效能上的損失。所以我們採用了靜態類,比如console類

黑馬程式設計師 Path類常用靜態方法

windows phones 7手機開發 net培訓 期待與您交流!string changeextension string path,string extension 修改檔案的字尾,修改 支援字串層面的,沒有真的給檔案改名 將兩個路徑合成乙個路徑,比用 好,可以方便解決是不是加斜線的問題,自動...

黑馬程式設計師日記(6) 常量和靜態成員

asp.net android io開發s net培訓 期待與您交流!const 常量 常量名要大寫 一定不變的 把乙個變數宣告為常量之後,後邊所有的改動都會出錯。c 常量的作用 在程式中使用常量至少有3個好處 a.常量用易於理解的清楚的名稱替代了含義不明確的數字或字串,使程式更易於閱讀。b.常量使...

黑馬程式設計師 static靜態

asp.net unity開發 net培訓 期待與您交流!static關鍵字 由同乙個類建立的所有物件共享,在記憶體中只載入一次 靜態修飾的成分儲存在方法區或者共享區或者資料區 盡量少設定過多的靜態,會占用太多的空間 隨著類的載入而載入,也就是說類載入一次,static修飾的成員也只載入一次 類存在...