java可以动态加载类吗

gfh21cn 2004-09-23 04:18:20
是这样的,有很多程序可以实现扩展,在windows下是可以用dll来扩展
大体的思路是这样
公布dll的导出函数声明,每个人都可以写dll实现自己的功能,然后放在约定的目录下,主程序启动时搜索到这些dll,然后加载并执行。


我不知道java可不可以实现这种功能。
1。dll是编译过的,有点类似于。class文件
2。加载到主程序的进程空间中执行
3。约定一些接口

请说说想法。
...全文
168 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
gfh21cn 2004-09-27
  • 打赏
  • 举报
回复
谢谢各位
揭帖了
射天狼 2004-09-23
  • 打赏
  • 举报
回复
http://www-900.ibm.com/developerworks/cn/security/s-regacc/index.shtml
gfh21cn 2004-09-23
  • 打赏
  • 举报
回复
我看了一下,基本上都是先用java生成一个文件,然后根据这个文件来写dll,那如果是现成的dll呢,怎么样去掉用呢
jokerjava 2004-09-23
  • 打赏
  • 举报
回复
jni(java本地调用)
gfh21cn 2004-09-23
  • 打赏
  • 举报
回复
如何加载?
gfh21cn 2004-09-23
  • 打赏
  • 举报
回复
java里面还可以加载dll?
zolacole 2004-09-23
  • 打赏
  • 举报
回复
当然,你也可以在vc中,先编写好dll,然后用java导入dll也可以实现动态加载。不用这个方法,楼上的方法也行。
gfh21cn 2004-09-23
  • 打赏
  • 举报
回复
是不是,我把编译好的class文件放在包的目录下
主程序就可以通过class.forname(s)找到了?
wanglei810522 2004-09-23
  • 打赏
  • 举报
回复
我想dll在java中应该叫做bean,因为java是纯oop语言,所以基本上都是动态加载,也可以写一个接口类,就像楼上写的一样,还有抽象类,也就是说楼主所担心的问题在java中根本不存在!
flyxxxxx 2004-09-23
  • 打赏
  • 举报
回复
public interface MyInterface{
public void doAction(Object param);
}

public class A implements MyInterface{}
public class B implements MyInterface{}

String s="A";
MyInterface mi=(MyInterface)Class.forname(s).newInstance();
mi.doAction(obj);
javafaq2004 2004-09-23
  • 打赏
  • 举报
回复
Class.forName(str)
javah
java idl

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧