【发布时间】:2015-01-01 06:22:07
【问题描述】:
我遇到了一个奇怪的错误。我在同一个包中有 2 个类,但它们找不到彼此。据我所知,只要类在同一个包中,它们应该能够调用彼此的方法。
我的代码如下所示:
在 A.java 中:
package com.mypackage;
public class A{
public static int read(){
//some code
}
}
在 B.java 中:
package com.mypackage;
public class B{
public static void main(String args[]){
int x = A.read();
}
}
它给了我一个cannot find symbol variable A 错误。
这两个类都依赖于一些.jar 文件,但我已经将这些jar 的路径包含到CLASSPATH 和A.java 编译良好,但是B 由于某些原因找不到A...
当我在两个类中删除 package com.mypackage; 时,它们编译得很好。
【问题讨论】:
-
我没有看到任何类声明。你把它们排除在外了吗
-
如果
A.java包含一个名为C的包本地类,即使没有A类,它也会编译。 -
你用什么来编译文件?命令等?
-
javac A.java 和 javac B.java。我没有提到的是这两个类都依赖于一些 jar 文件,但是已经包含了这些 jar 到 CLASSPATH 和 A.java 编译好的路径,但是 B 由于某些原因找不到 A...
-
你是在两个文件上调用 javac,还是一次一个?