這篇文章主要介紹了java 動態載入的實作程式碼的相關資料,Java動態載入類別主要是為了不改變主程式碼,透過修改設定檔就可以操作不同的物件執行不同的功能,需要的朋友可以參考下方
java 動態載入的實作程式碼
Java動態載入類別的意義與目的:
Java動態載入類別主要是為了不改變主程式碼,透過修改設定檔就可以操作不同的物件執行不同的功能。主要有利於系統的擴展,例如當我要改變一個功能,只需要做一個類,然後編寫相應的功能,通過配置文件就可以使用新的功能,不需要修改系統的任何地方,只需要添加一個類;充分實現了鬆散耦合。滿足了開閉原則(對修改關閉,對新增或刪除開放);
public abstract class AbstractAction { public abstract String action(); } public class TestAction extends AbstractAction{ public String action() { System.out.println("I am working ! "); return "this ActionTest class"; } }
String s = "file://D:\Style.jar";***//jar所在的文件的URL* URL url = new URL(s); URLClassLoader myClassLoader = new URLClassLoader(new URL[] { url }, Thread.currentThread() .getContextClassLoader()); Class<? extends AbstractAction> myClass = (Class<? extends AbstractAction>) myClassLoader.loadClass("com.java.jarloader.TestAction"); AbstractAction action = (AbstractAction) myClass.newInstance(); String str = action.action(); System.out.println(str);
以上是Java如何實作動態載入的程式碼實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!