關於Static程式碼塊、匿名程式碼塊、構造器的小擴充
關於Static靜態程式碼塊、匿名程式碼塊、構造器(構造方法)小擴充
對於Static靜態程式碼塊、匿名程式碼塊、構造器(構造方法)有以下幾個注意事項。
靜態程式碼塊:
- 靜態程式碼塊是與類一起載入的,它是在另外兩個程式碼塊之前執行的,並且只執行一次;
- 在靜態程式碼塊之後執行匿名程式碼塊,其次是構造器。
構造器
- 構造方法是一種特殊的方法,即使不顯示也是預設存在的,其構造方法名必須與類名相同(包括大小寫);
- 構造方法一般用於初始化物件;
- 構造方法不能被繼承,且不能static、final、abstract等的一些修飾符修飾。
匿名程式碼塊
-
匿名程式碼塊有點類似於構造方法,是預設存在的且在工作方法之前的;
-
匿名程式碼塊可以用來賦初值(但一般不建議用它來賦初值)。
我們來寫程式碼驗證一下:
public class OoStatic { { System.out.println("這是一個匿名程式碼塊!"); } static { System.out.println("這是一個靜態程式碼塊!"); } public OoStatic() { System.out.println("這是一個構造器!"); } public static void main(String[] args) { /* //OoStatic s1 = new OoStatic(); //System.out.println("==========="); //OoStatic s2 = new OoStatic(); 當我們沒有進行OoStatic s1 = new OoStatic();操作時,程式程式載入了類,但不會執行匿名程式碼塊以及構造器,然而靜態程式碼塊是與類一起載入的,因此會有一個輸出: 其結果為:這是一個靜態程式碼塊! */ //這裡我們對OoStatic類進行了兩次建立但是static靜態程式碼塊只執行了輸出了一次,表明靜態程式碼塊只能執行一次 OoStatic s1 = new OoStatic(); System.out.println("==========="); OoStatic s2 = new OoStatic(); /* 輸出結果為:這是一個靜態程式碼塊! 這是一個匿名程式碼塊! 這是一個構造器! =========== 這是一個匿名程式碼塊! 這是一個構造器! */ } }
相關文章
- 靜態程式碼塊、構造程式碼塊、構造方法構造方法
- 構造程式碼塊
- static程式碼塊、構造程式碼塊、建構函式以及Java類初始化順序C程式函式Java
- Java中靜態程式碼塊、構造程式碼塊、建構函式、普通程式碼塊Java函式
- static變數,static程式碼塊,建構函式,程式碼塊等的載入順序變數C程式函式
- Java普通程式碼塊,構造程式碼塊,靜態程式碼塊區別,執行順序的程式碼例項Java
- java static 與 static靜態程式碼塊Java
- Java中構造方法,構造程式碼塊和靜態程式碼塊執行順序詳解Java構造方法
- java7-2 構造程式碼塊的概述和講解Java
- 程式碼塊
- Java中建構函式、靜態程式碼塊、程式碼塊的執行順序Java函式
- 嬰兒的出生為你解惑建構函式和構造程式碼塊函式
- java 程式碼塊Java
- 五:程式碼塊
- Java 中的程式碼塊Java
- Java中的程式碼塊Java
- java中的程式碼塊(初始化塊)Java
- 靜態程式碼塊
- JS常用程式碼塊JS
- Union Find程式碼塊
- Pycharm程式碼塊的設定PyCharm
- 物件與引用,static關鍵字,程式碼塊,包,訪問許可權修飾符物件訪問許可權
- Java靜態程式碼塊Java
- 關於區塊鏈密碼學區塊鏈密碼學
- CSS構造塊CSS
- 50行python程式碼實現的小區塊鏈Python區塊鏈
- Ruby 中的閉包-程式碼塊
- Gradle中的buildScript程式碼塊GradleUI
- 關於 Go 程式碼結構的思考Go
- openGauss關於PL/SQL匿名塊呼叫測試SQL
- synchronized 程式碼塊怎麼用synchronized
- Concurrency(六: 同步程式碼塊)
- Xcode自定義程式碼塊XCode
- 點選擴充套件或縮小文字框效果程式碼套件
- CheckBoxList擴充套件方法程式碼套件
- Java程式碼塊與Java繼承Java繼承
- 用好程式碼塊,提供開發效率
- 61行程式碼構建最簡單區塊鏈行程區塊鏈