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

时间:2014-12-18 栏目:java技术 阅读:0 作者:武汉宏鹏教育官方网站

  【JAVA软件开发:从Jar文件中动态加载类】武汉宏鹏教育光谷校区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软件开发更多知识分解,请直接联系在线课程顾问为你做出解答!联系电话:17740513250

专业老师指导

赵老师

赵老师

从事IT教育培训十年有余,致力于帮助广大学子找到适合自己的专业

立即在线咨询

培训咨询客服

陈老师

陈老师

IT培训专业客服,用自己的真诚解决了无数学子的困惑

立即在线咨询

热门课程任你选,成长蜕变看的见

课程余量有限,即将截止报名!查看详情