武汉北大青鸟中南软件学院
400-027-0822

JAVA软件开发:从Jar文件中动态加载类

2018-03-10供稿中心: 北大青鸟武汉中南软件学院

北大青鸟中南校区学术老师为你分享JAVA软件开发知识点。

北大青鸟中南软件学院学术老师为你分享JAVA软件开发知识点:


由于开发的需要,需要根据配置动态加载类,所以简单测试了一下JAVA动态加载类。

定义接口

package loader;

public interface HelloIface {

public String hello();

public String sayHi();

}

实现接口

在其他插件类实现此接口,并导出为jar,如D:/tmp/test.jar

package loader;

public class HelloImpl implements HelloIface{

@Override

public String hello() {

return "hello,JAVA世界";

}

@Override

public String sayHi() {

return "Hi,JAVA World";

}

}

动态加载类

import java.net.URL;

import java.net.URLClassLoader;

import loader.HelloIface;

public class Main {

public static void main(String[] args) {

String classPath = "loader.HelloImpl";// Jar中的所需要加载的类的类名

String jarPath = "file:///D:/tmp/test.jar";// jar所在的文件的URL

ClassLoader cl;

try {

// Jar文件得到一个Class加载器

cl = new URLClassLoader(new URL[] { new URL(jarPath) });

// 从加载器中加载Class

Class< ?> c = cl.loadClass(classPath);

// Class中实例出一个对象

HelloIface impl = (HelloIface) c.newInstance();

// 调用Jar中的类方法

System.out.println(impl.hello());

System.out.println(impl.sayHi());

} catch (Exception e) {

e.printStackTrace();

}

}

}


想了解更多java软件开发知识分解,请直接联系在北大青鸟中南软件学院在线老师,我们将耐心为你做出解答!

关于我们
首页
公司简介
课程专业
师资力量
高薪就业
青鸟课程
ACCP
学士后Java
基础教育
UI设计
回到首页