有包与无包

zhuqiang 2005-07-04 09:27:22
C盘下有a.class

运行时为set classpath=c:\

c:\(在c盘下)java a


C盘下有a.class,a中使用到d:\java\中的包com

运行时要为set classpath=d:\java

c:\(在c盘下)java a

这是有包和无包运行的两种情况,谁能帮我解释下为什么,为什么没包时要把classpath设为自己路径,
而用包时却要把classpath设为包的路径,而自己的路径不用设,为什么呢?
...全文
90 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
interhanchi 2005-07-04
  • 打赏
  • 举报
回复
第一个可以省略.因为本身你的classpath就有一个默认的.及当前目录.
第二个,classpath包含一个或多个目录,用来查找.class文件的根目录.从根目录开始,解释器获取包的名称,并将每个句点替换成反斜扛,从而产生了一个路径名称,得到的路径和classpath中的个个不同的项连接,虚拟机就会在这些目录中查找你所创建的类名称的.class文件.
bibiye 2005-07-04
  • 打赏
  • 举报
回复
第一种情况,可以省略set classpath=c:\

第二种情况,set classpath=d:\java不能省略

如果没有set classpath=d:\java,它就不知道包com在哪了

62,614

社区成员

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

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