访问静态成员

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")

8. val userJson = JSONUtils.toJsonString(user)
9. println(userJson)
10. Assert.assertTrue(userJson == "{\"name\":\"admin\",\"password\":\"admin\"}")
11. }
12. }

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