有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Kotlin伴生对象和反射

在使用伴随对象和Java反射时遇到了一些有趣的事情。我不确定这是否是有意的,或者我只是没有完全理解事情

我有这个密码

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

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

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

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


共 (1) 个答案

  1. # 1 楼答案

    静态字段存储在外部类中以促进Java互操作:您可以在Java中说TestClass.data来引用该字段(这应该是您首先将其标记为platformStatic的原因)