例項化和使用類載入器

此基本示例顯示了應用程式如何例項化類載入器並使用它來動態載入類。

URL[] urls = new URL[] {new URL("file:/home/me/extras.jar")};
Classloader loader = new URLClassLoader(urls);
Class<?> myObjectClass = loader.findClass("com.example.MyObject");

在此示例中建立的類載入器將使用預設的類載入器作為其父類,並且在檢視“extra.jar”之前將首先嚐試在父類載入器中查詢任何類。如果已經載入了所請求的類,則 findClass 呼叫將返回對先前載入的類的引用。

findClass 呼叫可能以各種方式失敗。最常見的是:

  • 如果找不到指定的類,則使用 throw ClassNotFoundException 呼叫。
  • 如果命名類依賴於其他一些無法找到的類,則呼叫將丟擲 NoClassDefFoundError