跳轉至內容

動態類載入

25% developed
來自 Wikibooks,開放世界中的開放書籍

導航 反射 主題: v  d  e )

動態類載入允許載入程式啟動前未知的 Java 程式碼。許多類依賴於其他類和資源,例如圖示,這使得載入單個類變得不可行。因此,ClassLoaderjava.lang.ClassLoader)用於管理一組類的所有內部依賴項。Java 模型根據需要載入類,並且不需要在載入和執行任何一個類之前知道集合中所有類的名稱。

簡單的動態類載入

[編輯 | 編輯原始碼]

動態載入 Class 的一種簡單方法是透過 java.net.URLClassLoader 類。此類可用於載入透過 URL 訪問的 Class 或一組類。這與 java 可執行檔案中的 -classpath 引數非常相似。要建立 URLClassLoader,請使用工廠方法(因為使用建構函式需要安全許可權)

Example 程式碼部分 10.4:類載入器。
URLClassLoader classLoader = URLClassLoader.newInstance(
   new URL[]{"http://example.com/javaClasses.jar"});

與其他動態類載入技術不同,即使沒有安全許可權,只要類來自與呼叫者相同的 Web 域,也可以使用此技術。獲得 ClassLoader 例項後,可以透過 loadClass 方法載入類。例如,要載入類 com.example.MyClass,可以使用以下方法:

Example 程式碼部分 10.5:類載入。
Class<?> clazz = classLoader.load("com.example.MyClass");

Class 例項執行程式碼在動態呼叫章節中進行了說明。


Clipboard

待辦事項
新增一些類似於變數中的練習

華夏公益教科書