在運行時查找擴展基類的類
在Java 中,動態查找擴展特定類的所有類可能是一個挑戰基類。本文探討了 Java 編碼問題並討論了解決該問題的方法。
提出的主要問題是如何從繼承自基底類別(例如 Animal)的類別動態建立物件清單。所需的方法包括在運行時自動檢測這些子類,從而消除手動添加每個新類的需要。
最初,人們認為由於 Java 的分散結構,這樣的功能在 Java 中不直接支援。然而,Java 生態系統的進步引入了可以幫助實現這一目標的程式庫。
org.reflections 庫
一個值得注意的函式庫是 org.reflections。它提供了一種方便的 get 方法來檢索給定類型的子類別。
Reflections reflections = new Reflections("com.mycompany"); Set<Class<? extends MyInterface>> classes = reflections.getSubTypesOf(MyInterface.class);
其他選項
除了 org.reflections 之外,還出現了其他提供類似的能力。一個例子是 ClassGraph,它提供了全面的掃描和反射功能。
透過利用這些函式庫,開發人員可以動態發現並實例化子類,從而實現所需的功能,而無需明確維護類別清單。這種方法提高了適應性,並允許無縫整合新的子類,而無需手動更新。
以上是如何在執行時間動態尋找並實例化 Java 基底類別的子類別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!