五:程式碼塊
在程式中使用“{}”定義的結構就稱為程式碼塊,而後根據程式碼塊出現的位置以及定義的關鍵詞的不同,程式碼塊可以分為:普通程式碼塊、構造程式碼塊、靜態程式碼塊和同步程式碼塊,其中對於同步程式碼塊會在多執行緒中進行講解。
1、普通程式碼塊
普通程式碼塊的主要特點是定義在一個方法之中的程式碼塊
程式碼 | 分析 | 特徵 | |
普通程式碼塊 | public static void main(String arg[]) { int x = 100; | 按照Java程式的開發標準規定相同名稱的變數是不能在同一個方法中存在,而此時通過“{}”進行劃分界限,則兩個相同變數可以同時存在,一個可以理解為區域性變數,一個可以理解為全域性變數(相對而言)。 | 可以在一個方法中進行一些結構的拆分,以防止相同變數名稱所帶來的相互影響 |
2、構造程式碼塊
構造塊是定義在一個類之中的。
觀察構造塊:
程式碼 | 結果 | 特徵 | |
構造程式碼塊 | package cn.demos; class Person { { public class Demo2 { } | Person類構造塊執行 Person類構造方法執行 Person類構造塊執行 Person類構造方法執行 Person類構造塊執行 Person類構造方法執行 | 構造塊優先執行於構造方法; 每次物件例項化時,都會呼叫構造塊裡的程式碼。 |
3、靜態程式碼塊
靜態程式碼塊主要指的是使用static關鍵字定義的程式碼塊,而靜態程式碼塊的定義需要區分兩種情況:
1)主類中定義靜態塊;
2)非主類中定義靜態塊。
程式碼 | 結果 | 特徵 | |
非主類定義靜態塊 | package cn.demos; class Person { static { { public class Demo2 { } | 非主類的靜態程式碼塊的執行 Person類構造塊執行 Person類構造方法執行 Person類構造塊執行 Person類構造方法執行 Person類構造塊執行 Person類構造方法執行 | 此時我們可以發現靜態程式碼塊優先於構造程式碼塊的執行,且不管有多少個例項化物件,都只執行於一次;而靜態程式碼塊的主要目的是為了靜態初始化的實現。 |
主類中定義靜態塊 | package cn.demos; public class Demo2 { public static void main(String arg[]) { | 主類中的靜態程式碼塊 我要執行 | 主類中的靜態程式碼塊優先於主類進行 |
相關文章
- 程式碼塊
- Java中靜態程式碼塊、構造程式碼塊、建構函式、普通程式碼塊Java函式
- java 程式碼塊Java
- 靜態程式碼塊、構造程式碼塊、構造方法構造方法
- Java普通程式碼塊,構造程式碼塊,靜態程式碼塊區別,執行順序的程式碼例項Java
- 構造程式碼塊
- 靜態程式碼塊
- JS常用程式碼塊JS
- Union Find程式碼塊
- Java - 26 程式碼塊Java
- Java 中的程式碼塊Java
- Java靜態程式碼塊Java
- Java中的程式碼塊Java
- 程式碼初始化塊
- java中的程式碼塊(初始化塊)Java
- 關於Static程式碼塊、匿名程式碼塊、構造器的小擴充C程式
- synchronized 程式碼塊怎麼用synchronized
- Concurrency(六: 同步程式碼塊)
- Xcode自定義程式碼塊XCode
- Pycharm程式碼塊的設定PyCharm
- 寫 Laravel 測試程式碼 (五)Laravel
- Java中建構函式、靜態程式碼塊、程式碼塊的執行順序Java函式
- static變數,static程式碼塊,建構函式,程式碼塊等的載入順序變數C程式函式
- 《程式碼英雄》第五季(2):寫程式碼的地方
- Ruby 中的閉包-程式碼塊
- Java程式碼塊與Java繼承Java繼承
- 用好程式碼塊,提供開發效率
- Gradle中的buildScript程式碼塊GradleUI
- Typora 程式碼塊Mac風格化Mac
- 『深度長文』Tensorflow程式碼解析(五)
- static程式碼塊、構造程式碼塊、建構函式以及Java類初始化順序C程式函式Java
- 五顏六色的程式碼:論程式碼的正確位置
- 物件導向-程式碼塊看程式寫結果物件
- Java中構造方法,構造程式碼塊和靜態程式碼塊執行順序詳解Java構造方法
- xcode10 自定義程式碼塊XCode
- ES6新增方法程式碼塊
- java static 與 static靜態程式碼塊Java
- rails on ruby,ruby on rails 之程式碼塊(二)AI