那一缕清风悠扬 2021-09-02 12:25 采纳率: 75%
浏览 44
已结题

java初学者关于加载器的问题

img

img

img

Message里面只有一个send()方法输出一句话

我的问题是:
1.写了一个简单的测试类(Message)
2.将其从包中拿出来后编译(原包中没有了这个文件),通过自定义类的加载器执行编译后的文件
3.这个时候类实际并不存在此包中,也就是包没用了
问题:但是为什么写加载器的时候加上了包名(cn.ceshi.Message)才能正常运行,包不应该没用了么?跳过包的话为什么还要加包名,这样也就是说包并没有被跳过。这样的话我完全可以在外面运行的时候删掉Package这句话,那这个加载器的意义在哪,说是跳过了实际还是要写上这个类之前的包名,有种多此一举的感觉,还是说这个加载器就是相当于Message里Package这句话。那我在别的地方写类的时候写自己现在所在的包不就好了,写个cn.ceshi包名再通过加载器来写上这个包不是闲的。

  • 写回答

2条回答 默认 最新

  • zlebhs 2021-09-02 12:38
    关注

    那肯定咯。不然包的意义在哪里?就是为了区分各种类的重名现象,就如你这个Message,光一个Message,就有很多类重名,你不加包名,怎么区分各个Message?你单单这样看,就和import的效果其实差不多。但是如果你需要做一些动态的修改,比如你一个jar包做完了之后,希望有很多动态添加的功能,你就可以用你上面这种加载的方式,jar包不需要修改,只需要改外部的.class就行了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月10日
  • 已采纳回答 9月2日
  • 修改了问题 9月2日
  • 修改了问题 9月2日
  • 展开全部

悬赏问题

  • ¥188 寻找能做王者评分提取的
  • ¥15 matlab用simulink求解一个二阶微分方程,要求截图
  • ¥30 乘子法解约束最优化问题的matlab代码文件,最好有matlab代码文件
  • ¥15 写论文,需要数据支撑
  • ¥15 identifier of an instance of 类 was altered from xx to xx错误
  • ¥100 反编译微信小游戏求指导
  • ¥15 docker模式webrtc-streamer 无法播放公网rtsp
  • ¥15 学不会递归,理解不了汉诺塔参数变化
  • ¥15 基于图神经网络的COVID-19药物筛选研究
  • ¥30 软件自定义无线电该怎样使用