今天给各位分享java动态加载class的知识,其中也会对java动态加载容器进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
1、java可以动态加载不在classpath里的类吗?2、java可以动态加载一个jar包,并且调用里面的类和方法吗?3、java动态生成方法
java可以动态加载不在classpath里的类吗?
不在classpath下是不可以的哦
简单的说,要加载它起码要能找得到它。
比方说我告诉你我的毛片叫做 “xxx.av”。然后我说,你拿去看 吧。
你怎么能看?
是吧
所以,首先,你得要问我拿到这个片子放在哪个盘,哪个地址,哪个文件夹。这样为了你下一步拿到片子做储备
然后,可能你可以通过U盘拷到你电脑,或者通过局域网共享,然后直接访问我的文件播放
说java的。你现在想通过反射得到某个类实例。光知道人家一个类名是不够的。(类比例子中我只告诉你片子的名字)
你必须还要知道这个类被存放在哪里(好比例子中你需要问我片子放在哪个盘哪个文件夹)
然后知道以后要能引用到,在java里面放在classpath引用起来是比较方便的,如果知道了类在文件系统中位置,是能做到引用到classpath的(类比例子就是你的电脑要拿到片子才能播放,不管是通过U盘考还是文件夹共享)
恩,说了这些,感觉有点晦涩,不放把你的需求说说,这样可以针对性的去解释一些东西
java可以动态加载一个jar包,并且调用里面的类和方法吗?
可以的
jar可以看成是一个存放很多class的的地方,jar包放入classpath后,其实只要能实现动态的加载类就可以实现题目中的需求了
技术是 java 反射机制,就是一个利用提供类全名而得到这个类实例的机制
通过反射得到Class这个类,然后可以得到关于这个类的方法,字段等相关信息
具体可以查看相关知识
java动态生成方法
可以的,我说说大概思路,很简单,你自己具体实现吧,把代码写给你没意义的:
1.将你这段字符串输出到一个文件里,用Java类文件的方式命名。
2.调用外部javac命令将该文件编译。
3.用类加载器(ClassLoad)动态加载新的class文件并用Class.forName()注册该类,然后就可以正常使用了。
上面的每一步都能在baidu中找到实现方法,自己发挥吧。
求采纳
java动态加载class的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java动态加载容器、java动态加载class的信息别忘了在本站进行查找喔。