簡體   English   中英

.java和.scala類之間是否可能有循環依賴關系?

[英]is it possible to have a circular dependency between .java and .scala classes?

可以說我在.java文件中定義了A類,在.scala文件中定義了B類。
A類使用B類,B類使用A類。
如果我使用Java編譯器,則由於B類尚未編譯,將出現編譯錯誤。 如果我使用Scala編譯器,則不會找到類A。 是否有可以同時編譯的編譯器?

我以為Scala 2.7.2引入了聯合編譯模式來做到這一點?

您正在使用哪個版本的scalac ,並且在禁用此模式的情況下可以運行它?

編輯:等一下,當您說scalac導致找不到Class A時-您是否意識到以后仍需要使用javac編譯純Java文件? Scalac的聯合編譯模式實際上不會為Java文件生成*.class輸出,而只是根據其簽名編譯Scala類。 因此,盡管現在已經編譯了Scala類,但是您仍然需要在以后編譯Java文件,盡管這對於javac不是問題。

在Java中創建偽造的B類。 僅聲明從A引用的成員。方法的主體可以為空。 一起編譯A.java和B.java。 然后扔掉B.class並編譯B.scala。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM