两个java源文件同属一个包,其中一个类引用了另一个,在用javac编译时,报错找不到引用的类,import无作用
请问,应该怎样解决?下面是ComplexNumber.java和PassParemter.java的部分代码,ComplexNumber.java已经编译过了。packa...
请问,应该怎样解决?
下面是ComplexNumber.java和PassParemter.java的部分代码,ComplexNumber.java已经编译过了。
package book.oo;
import book.oo.ComplexNumber;
public class PassParamter {
public PassParamter() {
}
public void methodA(ComplexNumber comNum) {
// comNum这个引用指向了一个新new出来的对象。
comNum = new ComplexNumber(1, 2);
}
......
}
package book.oo;
public class ComplexNumber implements Cloneable{
/** 复数的实部 */
private double realPart;
/** 复数的虚部 */
private double imaginaryPart;
/** 默认构造函数 */
public ComplexNumber() {
this.realPart = 0.0;
this.imaginaryPart = 0.0;
}
/**
* 构造函数
* @param a 实部
* @param b 虚部
*/
public ComplexNumber(double a, double b) {
this.realPart = a;
this.imaginaryPart = b;
}
......
}
之前编译和执行ComplexNumber.java时,加了包语句后,我在使用javac和java时要转到不同目录去,编译时要到源文件所在目录,执行时要退回到包含包的目录去,我弄不明白为什么这样? 展开
下面是ComplexNumber.java和PassParemter.java的部分代码,ComplexNumber.java已经编译过了。
package book.oo;
import book.oo.ComplexNumber;
public class PassParamter {
public PassParamter() {
}
public void methodA(ComplexNumber comNum) {
// comNum这个引用指向了一个新new出来的对象。
comNum = new ComplexNumber(1, 2);
}
......
}
package book.oo;
public class ComplexNumber implements Cloneable{
/** 复数的实部 */
private double realPart;
/** 复数的虚部 */
private double imaginaryPart;
/** 默认构造函数 */
public ComplexNumber() {
this.realPart = 0.0;
this.imaginaryPart = 0.0;
}
/**
* 构造函数
* @param a 实部
* @param b 虚部
*/
public ComplexNumber(double a, double b) {
this.realPart = a;
this.imaginaryPart = b;
}
......
}
之前编译和执行ComplexNumber.java时,加了包语句后,我在使用javac和java时要转到不同目录去,编译时要到源文件所在目录,执行时要退回到包含包的目录去,我弄不明白为什么这样? 展开
3个回答
展开全部
确保import的类在classpath中,或者在本次编译.java文件范围内
更多追问追答
追问
在本次编译的java范围内
追答
最好把目录和文件结构还有你执行的编译命令描述一下
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
import引用的是打包好的类 不是源文件 一个源文件引用另一个 另一个是public 最好让我看看 引用语句和另一个包的声明语句
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
代码贴出来看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询