问题:问题:public class A{ public A(){ }}public class B{ public B(){ A a=new A(); }}两个类都在C文件夹下,编译正常。改成:package C;public class A{ public A(){ }}和import C.A;public class B{ public B(){ A a=new A(); }}A类在C文件夹下,B类在C文件夹外也正常编译。但是改成:package C;public class A{ public A(){ }}和package C;import C.A; //public class B{ public B(){ A a=new A(); }}两个类都放在C文件夹下,就编译错误,说找不到符号A。我把import C.A去掉也错误。为什么啊?仔细看一下这三种情况区别,为什么前两种情况可以,第三种不行,这是java的一种机制吗,还是有别的错误?请大侠帮忙,解决加分!!!
第三种情况,应该在C文件夹的上一层目录下编译,像这样: javac C\B.java 或者直接 javac C\*.java 如果你对问题:public class A{ public A(){ }}public class B{ public B(){ A a=new A(); }}两个类都在C文件夹下,编译正常。改成:package C;public class A{ public A(){ }}和import C.A;public class B{ public B(){ A a=new A(); }}A类在C文件夹下,B类在C文件夹外也正常编译。但是改成:package C;public class A{ public A(){ }}和package C;import C.A; //public class B{ public B(){ A a=new A(); }}两个类都放在C文件夹下,就编译错误,说找不到符号A。我把import C.A去掉也错误。为什么啊?仔细看一下这三种情况区别,为什么前两种情况可以,第三种不行,这是java的一种机制吗,还是有别的错误?请大侠帮忙,解决加分!!!这个问题有好的意见或
建议,请留言
|