北大青鸟光谷校区

北大青鸟光谷校区

  • 北大青鸟徐东校区
  • 北大青鸟光谷校区
  • 北大青鸟高新校区
  • 荆州青鸟之家
  • 襄阳青鸟之家

17740513250

百日千才

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

发布日期:2023-03-31来源:武汉北大青鸟武汉校区作者:武汉宏鹏

  【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

关闭

只为了方便您就学 北大青鸟光谷校区 北大青鸟武汉校区

武汉市洪山区珞喻路724号(地铁二号线光谷广场站F口出

Copyright (c) 2006-2023 武汉宏鹏教育咨询有限公司 版权所有 All Rights Reserved.