暑期自學 Day 07 | Junit,反射,註解(一)

Borris發表於2020-05-15

Junit 測試

  • 使用步驟
    • 定義兩個註解 @Before, @After,分別在測試方法前申請資源以及在測試方法後釋放資源。
    • 定義測試類:xxxTest()
      • 包名:xxx.test
    • 在測試類中定義測試方法:可以獨立執行
      • testMethoda(); testMethodb();
      • 返回值:void
      • 引數列表:空參
    • 使用 Assert 操作確認結果是否一致

反射

  • 將類的各個組成部分封裝成其他物件(反射機制)
    • 解釋:如將成員變數封裝為 Field 物件,將構造方法封裝為 Constructor 物件,將成員方法封裝為 Method 物件。
    • 好處:
      • 在程式執行過程中,操作這些物件
      • 解耦。提高程式的可擴充套件性。
Java 程式碼在計算機中經歷的階段
  • 原始碼階段

    • 寫好的原始檔透過 javac 編譯,成功後生成位元組碼檔案
    • 原始碼透過類載入器進入類物件階段
  • 類物件階段

    • 類物件透過建立物件進入下一個階段
  • 執行時階段

    • 新建該類的物件
  • 獲取 Class 物件的方式

    • 原始碼階段:Class.forName(“全類名”)
      • 注意:全類名是 包名.類名
      • 多用於配置檔案。讀取檔案,載入類。
    • 類物件階段:類名.class
      • 多用於引數傳遞
    • 執行時階段:物件.getClass()
      • 多用於物件的獲取位元組碼的方式
        注意:這些獲取方式獲取的 class 類物件都是同一個物件,因為程式執行時一個位元組碼檔案只載入一次。
  • 使用 Class 物件

    • 一些功能:
      • 獲取成員變數,成員方法,構造方法,類名
    • 一些常用的方法:
      • Field[] getFields(), Field getField(String name), Field[] getDeclaredFields(), Field getDeclaredField(StringName)
      • 獲取其他資料型別方法類似
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章