对编译过程有点困惑:
我的文件结构
仓/ 测试/ A.java 测试/ B.java
# B.java
package test;
private class B{
public static void say(){
System.out.println("Hello.");
};
}
# A.java
package test;
public class A{
public static void main(String arg[]){
test.B.say();
}
}
然后我编译A.java
javac -cp test / * .java test / A.java
它给了我错误:
test/A.java:4: cannot find symbol
symbol : class B
location: package test
test.B.say();
^
1 error
答案 0 :(得分:2)
B
应该是公共类,而不是私有类。从private class B
更改为public class B
可以解决并成功编译。