社区
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 吗?
...全文
120
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
作业
写回复
配置赞助广告
用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
打赏
举报
回复
我试了一下,没问题啊,你两个文件是在一个目录下吗??!
java六大必须理解的
问题
文档
### Java六大必须理解的
问题
根据提供的文档片段,我们可以总结出以下六个重要的Java概念与知识点: #### 1. 字符串(String)的理解 - **字符串的定义与
引用
**:在Java中,`String` 类是一种特殊的对象类型,...
android 获取相册列表的实现源码
该项目实现的功能如下: 获取手机相册,点击每个相册之后进入该相册...同时,通过
引用
第三方jar可以有效解决OOM异常
问题
。 博文地址:http://blog.csdn.net/u010156024/article/details/44136543 欢迎访问!【握手】
转:【Excel技巧】Excel公式的错误值解释:# N/A!、#VALUE!、#DIV/O!#NUM!、#NULL!
等这样的
问题
,在网站搜索后发现下面的文章对我解决这样的
问题
给予了帮助,现转载以共享! 转自:http://maminglai.1986.blog.163.com/blog/static/4632220020105361947430/ 经常用Excel的朋友可能都会...
Excel公式的常见错误值及其解决方法
等等,出现这些错误的原因有很多种,如果公式不能计算正确结果,Excel将显示一个错误值,例如,在需要数字的公式中使用文本、删除了被公式
引用
的单元格,或者使用了宽度不足以显示结果的单元格。以下是几种常见的...
计算机错误符号,解析Excel中常见的错误符号以及解决方法
解析Excel中常见的错误符号以及解决方法分享给大家, Excel 电子表格是很多人都要使用的软件,也相信很多人都会用,但是用得好不好就差别很大了,用得好的话可以让工作效率大大提高,但关于Excel的各种
问题
也不少,...
Java SE
62,635
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章