社区
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 吗?
...全文
123
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` 类是一种特殊的对象类型,...
最全的C和C++语言笔试面试题汇总
)`的意义及其
问题
- 表示无限循环,等价于`while(1)`。 #### 十七、`do……while`与`while……do`的区别 - `do……while`先执行循环体至少一次,然后判断条件是否满足;`while……do`先判断条件是否满足,如果...
提高C#编程水平的50个要点
- **解释**:确保值类型能够正确地表示零值,这有助于防止空
引用
异常和其他类型的错误。 - **实践建议**:在设计值类型时,考虑其可能的最小值是否为零。 #### 9. 理解ReferenceEquals,staticEquals,instanceEquals...
android 获取相册列表的实现源码
该项目实现的功能如下: 获取手机相册,点击每个相册之后进入该相册...同时,通过
引用
第三方jar可以有效解决OOM异常
问题
。 博文地址:http://blog.csdn.net/u010156024/article/details/44136543 欢迎访问!【握手】
七种"Excel公式错误值"解决方法
当公式或函数中某个数字有
问题
时将产生错误值#NUM!。 1)在需要数字参数的函数中使用了不能接受的参数。 解决方法:确认函数中使用的参数类型正确无误。 2)由公式产生的数字太大或太小,Excel...
Java SE
62,630
社区成员
307,264
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章