文件:A.java
class A
{
B b;
public A() {
b = new B();
}
}
文件:B.java
class B
{
public B() {}
public foo(A a) {...}
}
上面的代码无法编译,因为A需要B才能编译,B需要A才能编译。两者都不应先于对方编译。现在怎么办?
这个例子很简单。我可以删除 foo(A a) {...} 这样的 B.java 会编译。然后编译A.java。恢复 B.java 然后编译它。但我正在尝试从源代码构建 RXTX,它的依赖项是一个由曲折的小短语组成的迷宫。
我曾希望我可以编译成非工作类代码。然后将定义的所有类和方法再次编译成工作代码。
有 Elixir 吗?
最佳答案
如果您同时编译它们,它们应该可以正常编译:
javac A.java B.java
关于Java 循环引用 - 无法编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18218664/