靜態變數:
1)static放在變數的前面成為靜態變數,或類變數。
2)為該類的公共變數。
3)對所有的物件來說只有乙份(共享)。
輸出結果為1 1 2 1。可以看出,靜態變數sno是所有物件共享的,非靜態變數都有自己的copy。當sno加1之後,下一次被另乙個物件呼叫的時候為1,而age的值為0.
靜態**塊:
1)當乙個類中有靜態**塊和非靜態**塊時,首先要執行靜態**塊。
2)靜態**塊只能被初始化一次,非靜態**塊可以初始化多次。
輸出結果為static-block non static-block non static-block。非靜態**快被呼叫了兩次,靜態**快只能被例項化一次。而且靜態**快的執行在非靜態**快的前面。
靜態方法:
1)放在方法前為靜態方法,或類方法。
2)在呼叫該方法時,不會將物件的引用傳遞給它,所以static方法不能訪問
非static成員。但是非靜態方法可以訪問靜態方法和靜態變數。
輸出結果 0 0 .靜態方法可以呼叫靜態方法和靜態變數但是不能呼叫非靜態方法和變數。而且在呼叫靜態方法的時候只需要類名.方法名();
我們不推薦例項化後的呼叫。
非靜態方法:
1)可以呼叫靜態方法和靜態變數。
2)在呼叫非靜態方法的時候,先例項化後呼叫。
單利模式:
1)構造方法為private,外部不能例項化呼叫。
2)靜態變數只用乙個副本。
3)方法為static,外部不能例項化,只能在自己的方法體內部例項化,外部如果想呼叫方法必須要用到static,正好不需要例項化而且還能通過方法得到例項化物件。
4)乙個類可以例項化多個物件,但是在單利中只能有乙個物件(例項)。
輸出結果為false,不能滿足單利模式只有乙個例項(物件),因為每一次都得到乙個新的物件。
1:餓漢模式
一開始的時候就就來拿東西(物件)
懶漢模式:
一開始的時候就為null,餓的時候才過來拿(物件)。
輸出結果為true.
static在java中的作用
static 就分配了記憶體空間,即編譯時就為這些成員變數的例項分配了空間。例子一 public class static public static void main string args 執行結果為 t1 4 t2 4 t3 4 說明statici變數只接受了最後一次的初始化,多個例項共享乙...
static在C 中的應用
1 案例描述22 static 語法特性簡介 22.1 修飾變數 22.1.1 靜態全域性變數 22.1.2 靜態區域性變數 22.1.3 靜態資料成員 22.2 修飾函式 22.2.1 靜態函式 22.2.2 靜態成員函式33 應用場合 33.1 將變數 函式的作用域限定在本原始檔中 33.2 儲...
筆記 static 在 java中的作用
static塊程式是在類被裝載的時候開始執行。而不是在建立物件的時候執行 static 成員是不能被其所在class建立的例項訪問的。如果不加static修飾的成員是物件成員,也就是歸每個物件所有的。加static修飾的成員是類成員,就是可以由乙個類直接呼叫,為所有物件共有的 靜態方法可以直接用類名...