属性
- Kotlin调用属性本质就是调用getter和setter方法,因此只要java提供setter、getter方法,kotlin就可以直接读取或者写入
- 如果getter方法的返回值类型是boolean,并且该getter方法名以is开头,此时Kotlin会将其当作属性名与getter方法同名的属性,比如
boolean isFlag
可以作为Kotlin的只读属性,该属性名为isFlag
方法
-
如果java方法的返回值是void,在Kotlin中对应于Unit返回值类型。如果有人使用其返回值,它将由 Kotlin 编译器在调用处赋值, 因为该值本身是预先知道的(是
Unit
)。 -
Kotlin的关键字比java多,很多关键字在java中并不是关键字,所以可能出现java的类、接口名、方法名是Kotlin关键字的情况,此时需要加反引号对关键字进行转译
java类 public class User { private String userName; private boolean isMarried; protected int age; public void in() { System.out.println("in run..."); } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public boolean isMarried() { return isMarried; } public void setMarried(boolean married) { isMarried = married; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } kotlin中调用 fun main(args: Array<String>) { val user = User() user.userName = "jannal" user.isMarried = true println(user.userName) println(user.isMarried) //in在kotlin中是关键字,所以在kotlin中需要调用in()需要转译(``) user.`in`(); }
类型
-
Kotlin为java部分类提供了一些处理,这部分java类被映射为Kotlin类,这种映射只在编译阶段发生,运行时还是java类型。这些 Java 类型的静态成员不能在相应 Kotlin 类型的伴生对象中直接访问。要调用它们,请使用 Java 类型的完整限定名,例如
java.lang.Integer.toHexString(foo)
<