那一缕清风悠扬 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日
  • 展开全部

悬赏问题

  • ¥15 宇视监控服务器无法登录
  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)