你不知道的Static

2022-01-30 03:43:00 字數 2512 閱讀 9354

static靜態字段,靜態方法,靜態**塊

簡介

一些場景下會要求乙個類的多個例項共享乙個成員變數;有時候想定義一些不和具體物件關聯、不需要new就呼叫的方法

舉例:console類的writeline,messagebox的show。這個時候就要使用靜態。

所謂靜態方法、靜態成員是類的方法、類的成員,他不歸屬於任何乙個物件。因此不用new出來,直接型別.靜態方法()就能用了。

特徵1、static變數不需要new就可以直接通過類名呼叫。static變數是共享的記憶體空間,非static變數則是物件隔離的。

2、static 方法中無法使用this關鍵字,因為static獨立於物件存在,不是任何人的唯一。

3、static成員中只能訪問static成員,不能直接訪問非static成員。非static成員可以訪問static成員。

靜態**塊

1. 示例

class

mytest

public

mytest()

}

mytest t1 =new

mytest();

mytest t2 =new

mytest();

2. 說明

1.靜態**塊,

在類第一次被使用的時候執行一次,只要用到類,哪怕沒new物件(比如只是宣告變數)也會被執行,且只執行一次。

2.靜態**塊

,在建構函式執行之前執行。

3. 試題

publicclass

myjingtaidaimakuai

public

myjingtaidaimakuai()

publicstaticint

test1()

publicstaticint

test2()

}

myjingtaidaimakuai a1 =new

myjingtaidaimakuai();

console.writeline(a1.age);

myjingtaidaimakuai a2 =new

myjingtaidaimakuai();

console.writeline(a2.age);

/* 對以上**描述如下

*//*

* 1.只要接觸類,最先執行的是類中的靜態的成員變數。

* 2.其次執行的是靜態**塊。

* 3.靜態成員變數的宣告和定義僅在首次載入的時候執行一次。

* 4.「動態」成員變數在建構函式之前執行。

* 5.「動態

」成員變數在每次例項化物件時候都執行。

*/

不知道不知道

函式分析 希爾伯特 哥德爾不完備定理 哥德爾不完全性定理一舉粉碎了數學家兩千年來的信念。他告訴我們,真與可證是兩個概念。可證的一定是真的,但真的不一定可證。某種意義上,悖論的陰影將永遠伴隨著我們。無怪乎大數學家外爾發出這樣的感嘆 上帝是存在的,因為數學無疑是相容的 魔鬼也是存在的,因為我們不能證明這...

不知道不知道

函式分析 希爾伯特 哥德爾不完備定理 哥德爾不完全性定理一舉粉碎了數學家兩千年來的信念。他告訴我們,真與可證是兩個概念。可證的一定是真的,但真的不一定可證。某種意義上,悖論的陰影將永遠伴隨著我們。無怪乎大數學家外爾發出這樣的感嘆 上帝是存在的,因為數學無疑是相容的 魔鬼也是存在的,因為我們不能證明這...

你不知道的 和

開發中,編寫有一定逼格的 是每個程式猿都追求的。經常用來判斷的符號 和 也經常用來定義變數哦,你知道嗎?邏輯與 在有乙個運算元不是布林值的情況下,就不一定返回布林值。比如以下情況 1 第乙個運算元是物件,返回第二個數 var myinfo console.log myinfo 2 輸出22 第二個運...