使用伴侣对象和Java反射时,有些有趣。我不确定它是否有意,或者我是不是完全不理解。
我有这段代码
public class TestClass {
companion object {
public platformStatic var data: String? = null
}
}
data
字段最终会通过另一个类的反射填充。
我发现如果我使用TestClass.javaClass
访问该类,我会得到内部伴侣类,该类只有访问该字段的方法。通过javaClass<TestClass>()
访问它可以获得具有完全访问权限的Java类。
我只是错过了一些明显的东西吗?这种行为有原因吗?
答案 0 :(得分:2)
静态字段存储在外部类中以便于Java互操作:您可以在Java中说 a = xlsread('filename.xlsx',1,'A2')
来引用该字段(这应该是您首先标记它TestClass.data
的原因)。