社区
Java SE
帖子详情
#包引用的问题!
Gooing
2004-09-16 05:40:32
我在一个包中写了两个类
其中一个用到了另一个
//A.java
package pack;
public class A {
public String getId (){
return "a d ID" ;
}
};
//B.java
package pack;
public class B {
public void test(){
A a = new A();
}
}
结果在编译B.java的时候出了问题:
找不到A
请问:该如何做?
要修改 classpath 吗?
...全文
117
16
打赏
收藏
#包引用的问题!
我在一个包中写了两个类 其中一个用到了另一个 //A.java package pack; public class A { public String getId (){ return "a d ID" ; } }; //B.java package pack; public class B { public void test(){ A a = new A(); } } 结果在编译B.java的时候出了问题: 找不到A 请问:该如何做? 要修改 classpath 吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Gooing
2004-09-17
打赏
举报
回复
嘿嘿
谢啦
zcjl
2004-09-17
打赏
举报
回复
如果只想知其然,以后命令行编译时就用javac -d . *.java
或者是用ant做make工具
当然,用IDE也是很不错的选择
要想搞清楚这个问题,就得多找些java虚拟机和classloader的资料看看
然后把心得拿来给大家分享,^_^
zcjl
2004-09-17
打赏
举报
回复
因为在你用javac B.java编译时
classpaht中的那个“.”指向的是E:\pack
编译器会以这个目录为基础,寻找pack/A.class的存在
Gooing
2004-09-17
打赏
举报
回复
通常classpath中都会设置".",这个小点代表了当前路径
----------------------------
我已经设置了“.”这个CLASSPATH
并且文件结构是这样的:
E:\
|
-pack
|
--A.java
--B.java
按理说,B.JAVA 应该是可以找到A.CLASS 的
可是,你为什么要在里面加一个pack包呢?
--pack
|
--A.class
(这是按你的方法做的,然后就出了这么一部分)
zcjl
2004-09-17
打赏
举报
回复
javac -d . A.java
加上-d有何目的?
----------------------------------
直接运行javac,会有提示信息,告诉你各个编译参数的意义
zcjl
2004-09-17
打赏
举报
回复
classpath的问题
在编译B的时候,需要遍历classpath,查找pack/A.class的存在
通常classpath中都会设置".",这个小点代表了当前路径
所以用javac -d . A.java编译,自动生成包路径,或是手工把A.class放到对应的包路径中,就可以使编译B.java的时候能正确找到A
bobxp
2004-09-17
打赏
举报
回复
javac -d . A.java
加上-d有何目的?
又为何要新建pack文件夹?把A.class放到里面?
Gooing
2004-09-17
打赏
举报
回复
可以le
楼上的,你这样做的原因是什么?
zcjl
2004-09-17
打赏
举报
回复
解决办法:
1.把A.java和B.java放在同一目录下,用javac *.java编译
2.javac -d . A.java
javac B.java
3.javac A.java,然后新建文件夹pack,把A.class放到里面
再javac B.java
tiger_shi
2004-09-17
打赏
举报
回复
A的构造函数呢?
Gooing
2004-09-17
打赏
举报
回复
还是不行
9306zl9306
2004-09-16
打赏
举报
回复
//A.java
package pack;
public class A {
public String getId (){
return "a d ID" ;
}
};
//B.java
package pack;
//加一个引入试试看
import pack;
public class B {
public void test(){
A a = new A();
}
}
Gooing
2004-09-16
打赏
举报
回复
有
MartinWang
2004-09-16
打赏
举报
回复
classpath里是否有"."也就是当前目录?
Gooing
2004-09-16
打赏
举报
回复
当然在一个目录下了
你试的没问题?
射天狼
2004-09-16
打赏
举报
回复
我试了一下,没问题啊,你两个文件是在一个目录下吗??!
VUE基础入门与案例开发实战
tools的安装3样式绑定4style与删除操作5筛选和过滤6传播行为与事件7使用vue绑定表单输入与vue生命周期8过渡效果与过滤器9自定义指令与自定义...效果和参数传递
问题
21调用组件内部定义的方法22ref
引用
和render渲染函数
【Excel技巧】Excel公式的错误值解释:# N/A!、#VALUE!、#DIV/O!#NUM!、#NULL!
等这样的
问题
,在网站搜索后发现下面的文章对我解决这样的
问题
给予了帮助,现转载以共享! 转自:http://maminglai.1986.blog.163.com/blog/static/4632220020105361947430/ 经常用Excel的朋友可能都会...
转:【Excel技巧】Excel公式的错误值解释:# N/A!、#VALUE!、#DIV/O!#NUM!、#NULL!
等这样的
问题
,在网站搜索后发现下面的文章对我解决这样的
问题
给予了帮助,现转载以共享! 转自:http://maminglai.1986.blog.163.com/blog/static/4632220020105361947430/ 经常用Excel的朋友可能都会...
excel 学习------错误值
在Excel表操作过程中,如果输入了错误的值,或者公式调用的参数有
问题
,就会返回错误值。比如,除以0在Excel是不允许的,如果输入公式 =5/0,Excel将返回#DIV/0! 。错误值
包
括#DIV/0!、#N/A、#NAME?、#NULL!、#NUM!...
Excel---八种常见Excel错误提示及
问题
解决方法
例如,在需要数字的公式中使用文本、删除了被公式
引用
的单元格,或者使用了宽度不足以显示结果的单元格。以下是几种Excel常见的错误及其解决方法。 1.#####! 原因:如果单元格所含的数字、日期或时间比...
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章