我正在为java库编写包装器。假设ClassA和ClassB(在默认包中)。在ClassA中我们有:
ClassB.DoSomething();
javac抛出错误:
ClassA.java:...: cannot find symbol
symbol : variable ClassB
问题出在哪里?
提前谢谢!!!
答案 0 :(得分:1)
类路径上的当前目录是什么?它应该是,但如果设置不正确,那么javac可能会感到困惑。
如果ClassA和ClassB都在默认包中,请尝试使用javac -cp . ClassA.java
进行编译,看看是否有效。
答案 1 :(得分:0)
这取决于您希望如何访问您的方法。例如,您可以使用
之类的内容静态访问它class ClassA {
//...
public void someMethod() {
ClassB.doSomething();
}
//...
}
class ClassB {
static public void doSomething() { /* ... */ }
}
或要求ClassB
class ClassA {
//...
public void someMethod() {
ClassB b = new ClassB();
b.doSomething();
}
//...
}
class ClassB {
public void doSomething() { /* ... */ }
}
你的问题很模糊,所以我会在这里停下来。
注意:请记住,Java区分大小写,这意味着ClassB
!= classB
等。