黑马程序员技术交流社区
标题:
包的问题
[打印本页]
作者:
睡不够的猪
时间:
2013-10-31 14:19
标题:
包的问题
本帖最后由 睡不够的猪 于 2013-10-31 14:32 编辑
为什么在java文件中加了包后 用java调用这个class文件的时候,会出现如下错误(不是classpath的问题) 苦思不得解 求大神帮忙解释下 谢谢!
C63L01HY3(SB[1OU6B70]VB.jpg
(64.67 KB, 下载次数: 32)
下载附件
2013-10-31 14:19 上传
作者:
ヅ飞飞
时间:
2013-10-31 14:33
本帖最后由 ヅ飞飞 于 2013-10-31 14:54 编辑
你的错误是因为进入了包内执行java命令。
在dos窗口执行java 命令时所在路径应该是打包类包上层文件夹(这里的包是文件夹的意思)而不要进入包内执行java。并指定含包名的类全名。
当你使用package 包名;定义包时,此java文件下定义的所有类,其名称会变成:包名.类名。
所以你的myNotepad类,全名为:包名.MyNotepad。并且该类必须位于名称为包名的文件夹内(包其实就是文件夹,打包类必须位于包内否则该类无法使用)。有两种解决方法:1、手动创建包名文件夹将class文件放入文件夹;2、编译时使用-d选项(功能:指定class文件存放位置并自动生成文件夹来打包类):javac -d . MyNotepad.java(-d后面的点表示当前文件夹)
作者:
ヅ飞飞
时间:
2013-10-31 14:52
上次回答有误,回答已更新。
作者:
黄炳期
时间:
2013-10-31 15:25
是以前编好的程序吧?而且导入的包是自定义类是么?
如果是的话,解决八方如下:
先将自定义类稍微修改,加一空行也行,重新编译运行。
再运行主程序。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2