Kotlin伴侣对象和反射

时间:2015-06-21 22:10:45

标签: java reflection kotlin

使用伴侣对象和Java反射时,有些有趣。我不确定它是否有意,或者我是不是完全不理解。

我有这段代码

public class TestClass {
  companion object {
        public platformStatic var data: String? = null
  }
}

data字段最终会通过另一个类的反射填充。

我发现如果我使用TestClass.javaClass访问该类,我会得到内部伴侣类,该类只有访问该字段的方法。通过javaClass<TestClass>()访问它可以获得具有完全访问权限的Java类。

我只是错过了一些明显的东西吗?这种行为有原因吗?

1 个答案:

答案 0 :(得分:2)

静态字段存储在外部类中以便于Java互操作:您可以在Java中说 a = xlsread('filename.xlsx',1,'A2') 来引用该字段(这应该是您首先标记它TestClass.data的原因)。