//A.java 文件所在目录是…\zhum\test
package zhum.test;public class A{
}//B.java 文件所在目录是…\zhum\testpublic class B{
}如上,B和A是在“默认包”还是B在A所在包外,还是B和A在zhum.test包?
package zhum.test;public class A{
}//B.java 文件所在目录是…\zhum\testpublic class B{
}如上,B和A是在“默认包”还是B在A所在包外,还是B和A在zhum.test包?
假如现在把从class A的public去掉,在B中能引用A吗?
在一个工作目录下边,必须有一个公共的root路径,那样才有比较意义。
不错,B是默认包,A的包为zhum.test
但是两者似乎不能同时编译成功。
只能分别编译了。
而且想让他们在运行时都有效,就必须有两个path要放到classpath里头。
OK //这样他们在同一个包,即使A不是public也可以访问如果B中import zhum.test.A;
OK //导入A,A相对B是包外,必须要A是public才可以访问如果B中什么都不加
B.java:5: 无法访问 A
错误的类文件: .\A.class
类文件包含错误的类: zhum.test.A
请删除该文件或确保该文件位于正确的类路径子目录中。
A a = new A();
^
1 错误 //这个错误信息看不明白
所以我得到的结果是:A处于zhum.test包。而B处于zhum\test目录下的默认包。
不知道楼上的大哥们提到的classpath与这个何关?(zhum.test的classpath是正确设置的)
找不到,再在classpath的包里面找
根据这个规则判断就可以了
2 你2个一起编译会编译错误
3 你运行会找不到类OVER