java 动态加载的实现代码

 更新时间:2017年07月26日 10:30:40   投稿:lqh  
这篇文章主要介绍了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使用PDFRenderer实现预览PDF功能

    java使用PDFRenderer实现预览PDF功能

    这篇文章主要为大家详细介绍了java使用PDFRenderer实现预览PDF功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • java使用websocket,并且获取HttpSession 源码分析(推荐)

    java使用websocket,并且获取HttpSession 源码分析(推荐)

    这篇文章主要介绍了java使用websocket,并且获取HttpSession,通过使用配置源码分析了各方面知识点,具体操作步骤大家可查看下文的详细讲解,感兴趣的小伙伴们可以参考一下。
    2017-08-08
  • Java实现将容器 Map中的内容保存到数组

    Java实现将容器 Map中的内容保存到数组

    这篇文章主要介绍了Java实现将容器 Map中的内容保存到数组,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Java日常练习题,每天进步一点点(61)

    Java日常练习题,每天进步一点点(61)

    下面小编就为大家带来一篇Java基础的几道练习题(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望可以帮到你
    2021-08-08
  • spring boot2.0图片上传至本地或服务器并配置虚拟路径的方法

    spring boot2.0图片上传至本地或服务器并配置虚拟路径的方法

    最近写了关于图片上传至本地文件夹或服务器,上传路径到数据库,并在上传时预览图片。本文通过实例代码给大家分享spring boot2.0图片上传至本地或服务器并配置虚拟路径的方法,需要的朋友参考下
    2018-12-12
  • Java中String类getBytes()方法详解与完整实例

    Java中String类getBytes()方法详解与完整实例

    这篇文章主要给大家介绍了关于Java中String类getBytes()方法详解与完整实例的相关资料,getBytes()是Java编程语言中将一个字符串转化为一个字节数组byte[]的方法,需要的朋友可以参考下
    2023-10-10
  • Java运用设计模式中的建造者模式构建项目的实例解析

    Java运用设计模式中的建造者模式构建项目的实例解析

    这篇文章主要介绍了Java运用设计模式中的建造者模式构建项目的实例解析,建造者模式对外隐藏创建过程的产品,使用组合的方式,由指挥者来决定建造的流程,需要的朋友可以参考下
    2016-04-04
  • Java Map的排序实例详解

    Java Map的排序实例详解

    这篇文章主要介绍了 Java Map的排序实例详解的相关资料,希望通过本文大家能够掌握map的排序,需要的朋友可以参考下
    2017-09-09
  • java读取json文件的2种方式例子

    java读取json文件的2种方式例子

    这篇文章主要给大家介绍了关于java读取json文件的2种方式,在开发过程中有时会遇到需要读取.json文件的需求,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • 详解如何将JAVA程序制作成可以直接执行的exe文件

    详解如何将JAVA程序制作成可以直接执行的exe文件

    这篇文章主要介绍了详解如何将JAVA程序制作成可以直接执行的exe文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09

最新评论