1. 程式人生 > >java反射呼叫指定jar包中的類和方法

java反射呼叫指定jar包中的類和方法

需求:動態載入jar包,例項化jar包中的類,並呼叫類中的方法

已知:jar包所在路徑和jar包名稱,類名已知,類繼承的抽象類可以被引入,類中的方法已知

實現方法:

1. 手動呼叫類載入器動態載入jar包;

2. 應用java中的反射例項化類,得到類的一個例項;

3. 運用類例項呼叫類方法。

jar包所在路徑及jar包名:C:/test_reverse.jar

類名:ReverseService.java

抽象類:AbstractReverseService.java

類中方法:testJava

實現方法:

public void method() {

URL url = new URL("file:///

C:/test_reverse.jar");

//使用URL類載入器動態載入jar包

URLClassLoader myClassLoader = new URLClassLoader(new URL[] {url});

Class<?> clazz = myClassLoader.loadClass("ReverseService.java");

AbstractReverseService instance = (AbstractReverseService) clazz.newInstance();

     instance.testJava();

}