java中类访问的转储问题

java中类访问的转储问题,java,Java,我正在为java库编写包装器。假设ClassA和ClassB(在默认包中)。在ClassA中,我们有: ClassB.DoSomething(); javac抛出一个错误: ClassA.java:...: cannot find symbol symbol : variable ClassB 问题在哪里 提前谢谢你 当前目录是否在类路径上?应该是这样,但如果设置不正确,javac可能会感到困惑 如果ClassA和ClassB确实都在默认包中,请尝试使用javac-cp进行编译。java并

我正在为java库编写包装器。假设ClassA和ClassB(在默认包中)。在ClassA中,我们有:

ClassB.DoSomething();
javac抛出一个错误:

ClassA.java:...: cannot find symbol
symbol  : variable ClassB
问题在哪里


提前谢谢你

当前目录是否在类路径上?应该是这样,但如果设置不正确,javac可能会感到困惑


如果ClassA和ClassB确实都在默认包中,请尝试使用
javac-cp进行编译。java
并查看其是否有效。

这取决于您希望如何访问您的方法。例如,您可以通过以下方式静态访问它

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
等。

你导入了classB包吗?你确定你的意思是
class
不是object吗?他们应该禁止Java中的默认包!B类是“公共B类”。它在默认包中,就像ClassA一样。我想我不需要导入它>>>他们应该禁止Java中的默认包所以,如果我把两个包都放在某个包中,并在顶部写上“package somepackage”,这会有所帮助吗?我想如果是静态错误,我们会看到不同的错误。类似于“非静态方法doSomething()无法从静态上下文引用”@Gnat,此时,一切都是纯粹的推测:)