Junit 測試
- 使用步驟
- 定義兩個註解 @Before, @After,分別在測試方法前申請資源以及在測試方法後釋放資源。
- 定義測試類:xxxTest()
- 包名:xxx.test
- 在測試類中定義測試方法:可以獨立執行
- testMethoda(); testMethodb();
- 返回值:void
- 引數列表:空參
- 使用 Assert 操作確認結果是否一致
反射
- 將類的各個組成部分封裝成其他物件(反射機制)
- 解釋:如將成員變數封裝為 Field 物件,將構造方法封裝為 Constructor 物件,將成員方法封裝為 Method 物件。
- 好處:
- 在程式執行過程中,操作這些物件
- 解耦。提高程式的可擴充套件性。
Java 程式碼在計算機中經歷的階段
原始碼階段
- 寫好的原始檔透過 javac 編譯,成功後生成位元組碼檔案
- 原始碼透過類載入器進入類物件階段
類物件階段
- 類物件透過建立物件進入下一個階段
執行時階段
- 新建該類的物件
獲取 Class 物件的方式
- 原始碼階段:Class.forName(“全類名”)
- 注意:全類名是 包名.類名
- 多用於配置檔案。讀取檔案,載入類。
- 類物件階段:類名.class
- 多用於引數傳遞
- 執行時階段:物件.getClass()
- 多用於物件的獲取位元組碼的方式
注意:這些獲取方式獲取的 class 類物件都是同一個物件,因為程式執行時一個位元組碼檔案只載入一次。
- 多用於物件的獲取位元組碼的方式
- 原始碼階段:Class.forName(“全類名”)
使用 Class 物件
- 一些功能:
- 獲取成員變數,成員方法,構造方法,類名
- 一些常用的方法:
- Field[] getFields(), Field getField(String name), Field[] getDeclaredFields(), Field getDeclaredField(StringName)
- 獲取其他資料型別方法類似
- 一些功能:
本作品採用《CC 協議》,轉載必須註明作者和本文連結