我在同一目录中声明了两个Java类“giveMyOb”和“dataConn”。两者都是公共课。 “giveMyOb”有一个静态方法“getMine()”。在dataConn中,我将静态方法称为
giveMyOb.getMine();
当我尝试编译dataConn.java时,会返回以下错误。
“找不到符号
symbol:变量giveMyOb
location:class dataConn
giveMyOb.getMine(); “
过去曾经工作过。但现在不行。那是为什么?
其他信息:JDK 1.6。 Windows 7. 64位。
更新(问题后30天):从Eclipse编译时,类被引用并且它可以工作。但是从命令行编译时同样不起作用。我无法弄清楚原因,没有什么符合我的想法!
答案 0 :(得分:5)
javac -classpath . *.java
应该同时创建两个.class文件。包裹更复杂。我假设你没有。
了解Sun Java编码约定。您没有使用这些类名称跟踪它们。他们应该以大写字母开头。
答案 1 :(得分:3)
试试这个:
giveMyOb.java
public class giveMyOb {
public static String getMine() {
return "Yay, it works!";
}
}
dataConn.java
public class dataConn {
public static void main(String[] args) {
System.out.println(giveMyOb.getMine());
}
}
然后全部编译:
javac *.java
并运行主类:
java -cp . dataConn
// output: Yay, it works!
请注意,Java's coding conventions建议类名以大写字母开头。
如果“it”仍无效,请尝试手动删除.class
个文件,然后重新编译。