【发布时间】:2010-03-10 14:39:11
【问题描述】:
如何在 Java 中进行前向声明?
我有两个类,每个类都需要调用另一个类中的一个方法,它们都位于不同的命名空间中。比如……
package one;
class A {
public void foo() {
B b = new B();
b.bah();
}
}
和
package two;
class B {
public void bah() {
A a = new A();
a.foo();
}
}
更新
在 Eclipse 中遇到此代码时会抛出编译时错误“在构建路径中检测到循环...”。
【问题讨论】:
-
我认为这只是您提供的一个示例,并且您知道它会导致 StackOverflowError?
-
另请注意,这通常表明您的设计存在一些问题。依赖关系通常应该只在一个方向上。