访问静态成员

Java 类的静态成员会形成该类的“伴生对象”。我们可以直接显式访问其成员。例如:

一个带静态方法的Java类

  1. public class JSONUtils {
  2. public static String toJsonString(Object o) {
  3. return JSON.toJSONString(o);
  4. }
  5. }

我们在Kotlin代码可以直接这样调用:

  1. @RunWith(JUnit4::class)
  2. class JSONUtilsTest {
  3. @Test fun testJSONUtils() {
  4. val userService = UserServiceImpl()
  5. val user = userService.findByName("admin")
  6. Assert.assertTrue(user.name == "admin")
  7. val userJson = JSONUtils.toJsonString(user)
  8. println(userJson)
  9. Assert.assertTrue(userJson == "{\"name\":\"admin\",\"password\":\"admin\"}")
  10. }
  11. }

上面我们提到过,如果是反过来调用,Java调用Kotlin中的object对象类中的函数,需要使用object的 对象名.INSTANCE 来调用函数。