Sør*_*nHN 1 java scala scala-java-interop
我已经A在 Scala 中定义了这个类:
class A(var number: Int)
Run Code Online (Sandbox Code Playgroud)
但是当我尝试number在 java 中访问其成员字段时,出现错误:
A a = new A();
a.number = 4;
Run Code Online (Sandbox Code Playgroud)
结果:java: number has private access in A。如果我尝试number从 Scala访问,则没有问题。
我该怎么做才能解决这个问题?
使用吸气剂
a.number();
Run Code Online (Sandbox Code Playgroud)
和二传手
a.number_$eq(4);
Run Code Online (Sandbox Code Playgroud)
而不是字段本身a.number。
或者
a.getNumber();
a.setNumber(4);
Run Code Online (Sandbox Code Playgroud)
如果您注释该字段
import scala.beans.BeanProperty
class A(@BeanProperty var number: Int)
Run Code Online (Sandbox Code Playgroud)
如果我尝试
number从 Scala访问,则没有问题。
在 Scala 中,当您编写a.number或a.number = 4实际调用 getter/setter 时(这是语法糖)。
| 归档时间: |
|
| 查看次数: |
99 次 |
| 最近记录: |