1.静态方法(companion object),静态类(object)
Java中修饰静态方法,使用关键字static:
public static String getName() {
return “name”;
}
Kotlin语言中使用"object"修饰静态类,被修饰的类,可以使用类名.方法名的形式调用:
object Utils {
fun getName(): String {
return "name"
}
}
调用:
Utils .getName()
Kotlin语言中使用"companion object"修饰静态方法,可以使用类名.方法名的形式调用:
class Utils {
companion object {
fun getName(): String {
return "name"
}
}
}
调用:
Utils .getName()
2.inline 可以让你用内联——也就是函数内容直插到调用处——的方式来优化代码结构,从而减少函数类型的对象的创建;
noinline 是局部关掉这个优化,来摆脱 inline 带来的「不能把函数类型的参数当对象使用」的限制;
crossinline 是局部加强这个优化,让内联函数里的函数类型的参数可以被当做对象使用。