文件: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,它的依赖项是一个曲折的小短语迷宫。
我曾希望我可以编译为非工作类代码。然后将所有定义的类和方法再次编译成工作代码。
有灵丹妙药吗?