Joh*_*ith 8 scala scala-java-interop
我有一个这个代码的类:
package shop.orders.services.email
private[services] class EmailService {...}
Run Code Online (Sandbox Code Playgroud)
然后在另一个包中,我使用该类:
package shop.ui
import shop.orders.services.email.EmailService
class PaymentConfirmation extends WithFacesContext {
var emailService: EmailService = null
Run Code Online (Sandbox Code Playgroud)
查看生成的字节码,没有任何访问修饰符的迹象,这是有道理的,因为Java不支持此类访问限制.那么如果我创建一个包含块1之类的代码的库,并尝试针对库编译块2会发生什么 - 编译器不会失败,因为信息丢失了.或者它是否包含在清单中?
我正在使用Scala 2.9.2.
yak*_*ver 10
您可以EmailService从Java 引用,但不能从Scala 引用,因为Scala将类的签名存储为scala.reflect.ScalaSignature注释.Scala编译器将失败,并显示以下错误:
无法在包shop.orders.services.email中访问包电子邮件中的类EmailService
| 归档时间: |
|
| 查看次数: |
151 次 |
| 最近记录: |